mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Merge pull request #380 from freidev/freilyn-canary
feat: add Typebot template with email login configuration.
This commit is contained in:
commit
1fea9dcf29
13
apps/dokploy/public/templates/typebot.svg
Normal file
13
apps/dokploy/public/templates/typebot.svg
Normal file
@ -0,0 +1,13 @@
|
||||
<svg viewBox="0 0 800 800" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="800" height="800" rx="80" fill="#0042DA" style="--darkreader-inline-fill:#0035ae" />
|
||||
<rect x="650" y="293" width="85.47" height="384.617" rx="20" transform="rotate(90 650 293)" fill="#FF8E20"
|
||||
style="--darkreader-inline-fill:#ff9630" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M192.735 378.47c23.602 0 42.735-19.133 42.735-42.735S216.337 293 192.735 293 150 312.133 150 335.735s19.133 42.735 42.735 42.735Z"
|
||||
fill="#FF8E20" style="--darkreader-inline-fill:#ff9630" />
|
||||
<rect x="150" y="506.677" width="85.47" height="384.617" rx="20" transform="rotate(-90 150 506.677)" fill="#fff"
|
||||
style="--darkreader-inline-fill:#e8e6e3" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M607.265 421.206c-23.602 0-42.735 19.134-42.735 42.736 0 23.602 19.133 42.735 42.735 42.735S650 487.544 650 463.942s-19.133-42.736-42.735-42.736Z"
|
||||
fill="#fff" style="--darkreader-inline-fill:#e8e6e3" />
|
||||
</svg>
|
After Width: | Height: | Size: 1000 B |
@ -468,4 +468,18 @@ export const templates: TemplateData[] = [
|
||||
tags: ["analytics", "self-hosted"],
|
||||
load: () => import("./aptabase/index").then((m) => m.generate),
|
||||
},
|
||||
{
|
||||
id: "typebot",
|
||||
name: "Typebot",
|
||||
version: "2.27.0",
|
||||
description: "Typebot is an open-source chatbot builder platform.",
|
||||
logo: "typebot.svg",
|
||||
links: {
|
||||
github: "https://github.com/baptisteArno/typebot.io",
|
||||
website: "https://typebot.io/",
|
||||
docs: "https://docs.typebot.io/get-started/introduction",
|
||||
},
|
||||
tags: ["chatbot", "builder", "open-source"],
|
||||
load: () => import("./typebot/index").then((m) => m.generate),
|
||||
},
|
||||
];
|
||||
|
49
apps/dokploy/templates/typebot/docker-compose.yml
Normal file
49
apps/dokploy/templates/typebot/docker-compose.yml
Normal file
@ -0,0 +1,49 @@
|
||||
version: '3.3'
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
services:
|
||||
typebot-db:
|
||||
image: postgres:14-alpine
|
||||
restart: always
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_USER: typebot
|
||||
POSTGRES_DB: typebot
|
||||
POSTGRES_PASSWORD: typebot
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
typebot-builder:
|
||||
image: baptistearno/typebot-builder:2.27
|
||||
restart: always
|
||||
depends_on:
|
||||
- typebot-db
|
||||
environment:
|
||||
ENCRYPTION_SECRET: '${ENCRYPTION_SECRET}'
|
||||
DATABASE_URL: 'postgresql://typebot:typebot@typebot-db:5432/typebot'
|
||||
NEXTAUTH_URL: '${NEXTAUTH_URL}'
|
||||
NEXT_PUBLIC_VIEWER_URL: '${NEXT_PUBLIC_VIEWER_URL}'
|
||||
ADMIN_EMAIL: '${ADMIN_EMAIL}'
|
||||
SMTP_HOST: '${SMTP_HOST}'
|
||||
NEXT_PUBLIC_SMTP_FROM: '${NEXT_PUBLIC_SMTP_FROM}'
|
||||
SMTP_USERNAME: '${SMTP_USERNAME}'
|
||||
SMTP_PASSWORD: '${SMTP_PASSWORD}'
|
||||
DEFAULT_WORKSPACE_PLAN: '${DEFAULT_WORKSPACE_PLAN}'
|
||||
|
||||
typebot-viewer:
|
||||
image: baptistearno/typebot-viewer:2.27.0
|
||||
restart: always
|
||||
environment:
|
||||
ENCRYPTION_SECRET: '${ENCRYPTION_SECRET}'
|
||||
DATABASE_URL: postgresql://typebot:typebot@typebot-db:5432/typebot
|
||||
NEXTAUTH_URL: '${NEXTAUTH_URL}'
|
||||
NEXT_PUBLIC_VIEWER_URL: '${NEXT_PUBLIC_VIEWER_URL}'
|
||||
ADMIN_EMAIL: '${ADMIN_EMAIL}'
|
||||
SMTP_HOST: '${SMTP_HOST}'
|
||||
NEXT_PUBLIC_SMTP_FROM: '${NEXT_PUBLIC_SMTP_FROM}'
|
||||
SMTP_USERNAME: '${SMTP_USERNAME}'
|
||||
SMTP_PASSWORD: '${SMTP_PASSWORD}'
|
||||
DEFAULT_WORKSPACE_PLAN: '${DEFAULT_WORKSPACE_PLAN}'
|
44
apps/dokploy/templates/typebot/index.ts
Normal file
44
apps/dokploy/templates/typebot/index.ts
Normal file
@ -0,0 +1,44 @@
|
||||
import {
|
||||
type DomainSchema,
|
||||
type Schema,
|
||||
type Template,
|
||||
generateBase64,
|
||||
generateRandomDomain,
|
||||
} from "../utils";
|
||||
|
||||
export function generate(schema: Schema): Template {
|
||||
const builderDomain = generateRandomDomain(schema);
|
||||
const viewerDomain = generateRandomDomain(schema);
|
||||
const encryptionSecret = generateBase64(24);
|
||||
|
||||
const domains: DomainSchema[] = [
|
||||
{
|
||||
host: builderDomain,
|
||||
port: 3000,
|
||||
serviceName: "typebot-builder",
|
||||
},
|
||||
{
|
||||
host: viewerDomain,
|
||||
port: 3000,
|
||||
serviceName: "typebot-viewer",
|
||||
},
|
||||
];
|
||||
|
||||
const envs = [
|
||||
`ENCRYPTION_SECRET=${encryptionSecret}`,
|
||||
`NEXTAUTH_URL=http://${builderDomain}`,
|
||||
`NEXT_PUBLIC_VIEWER_URL=http://${viewerDomain}`,
|
||||
"ADMIN_EMAIL=typebot@example.com",
|
||||
"SMTP_HOST='Fill'",
|
||||
"SMTP_PORT=25",
|
||||
"SMTP_USERNAME='Fill'",
|
||||
"SMTP_PASSWORD='Fill'",
|
||||
"NEXT_PUBLIC_SMTP_FROM=typebot@example.com",
|
||||
"DEFAULT_WORKSPACE_PLAN=UNLIMITED",
|
||||
];
|
||||
|
||||
return {
|
||||
envs,
|
||||
domains,
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user