Merge pull request #380 from freidev/freilyn-canary

feat: add Typebot template with email login configuration.
This commit is contained in:
Mauricio Siu 2024-08-29 22:13:08 -06:00 committed by GitHub
commit 1fea9dcf29
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 120 additions and 0 deletions

View 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

View File

@ -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),
},
];

View 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}'

View 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,
};
}