feat: add typebot (#760)
This commit is contained in:
parent
fe963d9176
commit
bdb482e849
|
|
@ -0,0 +1,249 @@
|
||||||
|
captainVersion: 4
|
||||||
|
services:
|
||||||
|
$$cap_appname-builder:
|
||||||
|
caproverExtra:
|
||||||
|
containerHttpPort: 3000
|
||||||
|
image: baptistearno/typebot-builder:$$cap_TYPEBOT_VERSION
|
||||||
|
environment:
|
||||||
|
DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB
|
||||||
|
NEXTAUTH_URL: http://$$cap_appname-builder.$$cap_root_domain
|
||||||
|
NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain
|
||||||
|
ENCRYPTION_SECRET: $$cap_TYPEBOT_ENCRYPTION_SECRET
|
||||||
|
ADMIN_EMAIL: $$cap_TYPEBOT_ADMIN_EMAIL
|
||||||
|
DISABLE_SIGNUP: $$cap_TYPEBOT_DISABLE_SIGNUP
|
||||||
|
SMTP_USERNAME: $$cap_TYPEBOT_SMTP_USERNAME
|
||||||
|
SMTP_PASSWORD: $$cap_TYPEBOT_SMTP_PASSWORD
|
||||||
|
SMTP_HOST: $$cap_TYPEBOT_SMTP_HOST
|
||||||
|
SMTP_PORT: $$cap_TYPEBOT_SMTP_PORT
|
||||||
|
NEXT_PUBLIC_SMTP_FROM: $$cap_TYPEBOT_SMTP_FROM
|
||||||
|
SMTP_SECURE: $$cap_TYPEBOT_SMTP_SECURE
|
||||||
|
SMTP_AUTH_DISABLED: $$cap_TYPEBOT_SMTP_AUTH_DISABLED
|
||||||
|
GOOGLE_CLIENT_ID: $$cap_TYPEBOT_GOOGLE_CLIENT_ID
|
||||||
|
GOOGLE_CLIENT_SECRET: $$cap_TYPEBOT_GOOGLE_CLIENT_SECRET
|
||||||
|
NEXT_PUBLIC_GOOGLE_API_KEY: $$cap_TYPEBOT_GOOGLE_API_KEY
|
||||||
|
GITHUB_CLIENT_ID: $$cap_TYPEBOT_GITHUB_CLIENT_ID
|
||||||
|
GITHUB_CLIENT_SECRET: $$cap_TYPEBOT_GITHUB_CLIENT_SECRET
|
||||||
|
GITLAB_CLIENT_ID: $$cap_TYPEBOT_GITLAB_CLIENT_ID
|
||||||
|
GITLAB_CLIENT_SECRET: $$cap_TYPEBOT_GITLAB_CLIENT_SECRET
|
||||||
|
GITLAB_BASE_URL: $$cap_TYPEBOT_GITLAB_BASE_URL
|
||||||
|
GITLAB_REQUIRED_GROUPS: $$cap_TYPEBOT_GITLAB_REQUIRED_GROUPS
|
||||||
|
GITLAB_NAME: $$cap_TYPEBOT_GITLAB_NAME
|
||||||
|
FACEBOOK_CLIENT_ID: $$cap_TYPEBOT_FACEBOOK_CLIENT_ID
|
||||||
|
FACEBOOK_CLIENT_SECRET: $$cap_TYPEBOT_FACEBOOK_CLIENT_SECRET
|
||||||
|
AZURE_AD_CLIENT_ID: $$cap_TYPEBOT_AZURE_AD_CLIENT_ID
|
||||||
|
AZURE_AD_CLIENT_SECRET: $$cap_TYPEBOT_AZURE_AD_CLIENT_SECRET
|
||||||
|
AZURE_AD_TENANT_ID: $$cap_TYPEBOT_AZURE_AD_TENANT_ID
|
||||||
|
S3_ACCESS_KEY: $$cap_TYPEBOT_S3_ACCESS_KEY
|
||||||
|
S3_SECRET_KEY: $$cap_TYPEBOT_S3_SECRET_KEY
|
||||||
|
S3_BUCKET: $$cap_TYPEBOT_S3_BUCKET
|
||||||
|
S3_PORT: $$cap_TYPEBOT_S3_PORT
|
||||||
|
S3_ENDPOINT: $$cap_TYPEBOT_S3_ENDPOINT
|
||||||
|
S3_SSL: $$cap_TYPEBOT_S3_SSL
|
||||||
|
S3_REGION: $$cap_TYPEBOT_S3_REGION
|
||||||
|
NEXT_PUBLIC_GIPHY_API_KEY: $$cap_TYPEBOT_GIPHY_API_KEY
|
||||||
|
depends_on:
|
||||||
|
- $$cap_appname-db
|
||||||
|
$$cap_appname-viewer:
|
||||||
|
caproverExtra:
|
||||||
|
containerHttpPort: 3000
|
||||||
|
image: baptistearno/typebot-viewer:$$cap_TYPEBOT_VERSION
|
||||||
|
environment:
|
||||||
|
DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB
|
||||||
|
NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain
|
||||||
|
ENCRYPTION_SECRET: $$cap_TYPEBOT_ENCRYPTION_SECRET
|
||||||
|
NEXTAUTH_URL: http://$$cap_appname-builder.$$cap_root_domain
|
||||||
|
SMTP_USERNAME: $$cap_TYPEBOT_SMTP_USERNAME
|
||||||
|
SMTP_PASSWORD: $$cap_TYPEBOT_SMTP_PASSWORD
|
||||||
|
SMTP_HOST: $$cap_TYPEBOT_SMTP_HOST
|
||||||
|
SMTP_PORT: $$cap_TYPEBOT_SMTP_PORT
|
||||||
|
SMTP_FROM: $$cap_TYPEBOT_SMTP_FROM
|
||||||
|
SMTP_SECURE: $$cap_TYPEBOT_SMTP_SECURE
|
||||||
|
GOOGLE_CLIENT_ID: $$cap_TYPEBOT_GOOGLE_CLIENT_ID
|
||||||
|
GOOGLE_CLIENT_SECRET: $$cap_TYPEBOT_GOOGLE_CLIENT_SECRET
|
||||||
|
S3_ACCESS_KEY: $$cap_TYPEBOT_S3_ACCESS_KEY
|
||||||
|
S3_SECRET_KEY: $$cap_TYPEBOT_S3_SECRET_KEY
|
||||||
|
S3_BUCKET: $$cap_TYPEBOT_S3_BUCKET
|
||||||
|
S3_PORT: $$cap_TYPEBOT_S3_PORT
|
||||||
|
S3_ENDPOINT: $$cap_TYPEBOT_S3_ENDPOINT
|
||||||
|
S3_SSL: $$cap_TYPEBOT_S3_SSL
|
||||||
|
S3_REGION: $$cap_TYPEBOT_S3_REGION
|
||||||
|
depends_on:
|
||||||
|
- $$cap_appname-db
|
||||||
|
|
||||||
|
$$cap_appname-db:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
image: postgres:$$cap_POSTGRES_VERSION
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: $$cap_POSTGRES_DB
|
||||||
|
POSTGRES_USER: $$cap_POSTGRES_USER
|
||||||
|
POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD
|
||||||
|
volumes:
|
||||||
|
- $$cap_appname-db-data:/data/postgres
|
||||||
|
|
||||||
|
caproverOneClickApp:
|
||||||
|
instructions:
|
||||||
|
start: |-
|
||||||
|
Typebot is an open-source alternative to Landbot.
|
||||||
|
It allows you to create conversational apps/forms (Lead qualification, Product launch, User onboarding, Customer support), embed them anywhere on your web/mobile apps, and collect results in real-time.
|
||||||
|
|
||||||
|
**Important notes**:
|
||||||
|
|
||||||
|
- Make sure to set up least one authentication provider (Mail, Google, GitHub, Facebook or Azure AD) below
|
||||||
|
- Add your mail address to `ADMIN_EMAIL`
|
||||||
|
end: |-
|
||||||
|
Typebot has been successfully deployed! It might take few moments before it's fully started.
|
||||||
|
You can access it at `http://$$cap_appname-builder.$$cap_root_domain`.
|
||||||
|
displayName: Typebot
|
||||||
|
isOfficial: true
|
||||||
|
description: Conversational Form Builder That You Can Self-Host. Open Source Alternative To Landbot.
|
||||||
|
documentation: https://docs.typebot.io
|
||||||
|
variables:
|
||||||
|
- id: $$cap_TYPEBOT_VERSION
|
||||||
|
label: Version | Typebot
|
||||||
|
description: Version of Typebot. Check out their valid tags at https://hub.docker.com/r/baptistearno/typebot-builder/tags
|
||||||
|
defaultValue: 2
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_POSTGRES_VERSION
|
||||||
|
label: General | PostgreSQL Version
|
||||||
|
description: Check out their valid tags at https://hub.docker.com/_/postgres/tags
|
||||||
|
defaultValue: '14.0-alpine'
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_TYPEBOT_ADMIN_EMAIL
|
||||||
|
label: Administration | User Mail Address
|
||||||
|
description: The mail address that will get a "Pro" plan on user creation.
|
||||||
|
- id: $$cap_TYPEBOT_DISABLE_SIGNUP
|
||||||
|
label: Administration | Disable Sign-Ups
|
||||||
|
description: To disable new sign-ups but still be able to sign in with existing users or admin mail address.
|
||||||
|
defaultValue: 'false'
|
||||||
|
validRegex: /^(true|false)$/
|
||||||
|
- id: $$cap_TYPEBOT_ENCRYPTION_SECRET
|
||||||
|
label: Security | Encryption Secret
|
||||||
|
description: >-
|
||||||
|
A 256-bit key used to encrypt sensitive data.
|
||||||
|
The secret should be the same between builder and viewer.
|
||||||
|
defaultValue: $$cap_gen_random_hex(128)
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_POSTGRES_DB
|
||||||
|
label: Database | Name
|
||||||
|
description: Name of the database.
|
||||||
|
defaultValue: typebot
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_POSTGRES_USER
|
||||||
|
label: Database | User Name
|
||||||
|
description: Name of the database user.
|
||||||
|
defaultValue: typebot
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_POSTGRES_PASSWORD
|
||||||
|
label: Database | User Password
|
||||||
|
description: Password of the database user.
|
||||||
|
defaultValue: $$cap_gen_random_hex(16)
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_USERNAME
|
||||||
|
label: Mail | Name
|
||||||
|
description: Optional SMTP username.
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_PASSWORD
|
||||||
|
label: Mail | Password
|
||||||
|
description: Optional SMTP password.
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_HOST
|
||||||
|
label: Mail | Host
|
||||||
|
description: Optional SMTP host.
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_PORT
|
||||||
|
label: Mail | Port
|
||||||
|
description: SMTP port.
|
||||||
|
defaultValue: 25
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_FROM
|
||||||
|
label: Mail | From Field
|
||||||
|
description: Optional "from" name and mail (e.g. `Notifications <notifications@example.com>`).
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_SECURE
|
||||||
|
label: Mail | Secure Connection
|
||||||
|
description: >-
|
||||||
|
If `true` the connection will use TLS when connecting to server.
|
||||||
|
If `false` (the default) then TLS is used if server supports the STARTTLS extension.
|
||||||
|
In most cases set this value to `true` if you are connecting to port `465`.
|
||||||
|
For port `587` or `25` keep it `false`.
|
||||||
|
defaultValue: 'false'
|
||||||
|
validRegex: /^(true|false)$/
|
||||||
|
- id: $$cap_TYPEBOT_SMTP_AUTH_DISABLED
|
||||||
|
label: Mail | Authentication Disabled
|
||||||
|
description: To disable the authentication by mail but still use the provided config for notifications.
|
||||||
|
defaultValue: 'false'
|
||||||
|
validRegex: /^(true|false)$/
|
||||||
|
- id: $$cap_TYPEBOT_GOOGLE_CLIENT_ID
|
||||||
|
label: Google | Client ID
|
||||||
|
description: Optional client ID from the Google API Console.
|
||||||
|
- id: $$cap_TYPEBOT_GOOGLE_CLIENT_SECRET
|
||||||
|
label: Google | Client Secret
|
||||||
|
description: Optional client secret from the Google API Console.
|
||||||
|
- id: $$cap_TYPEBOT_GOOGLE_API_KEY
|
||||||
|
label: Google | API Key
|
||||||
|
description: Optional API Key from the Google API Console. Used for Google Fonts.
|
||||||
|
- id: $$cap_TYPEBOT_GITHUB_CLIENT_ID
|
||||||
|
label: GitHub | Client ID
|
||||||
|
description: Optional application client ID from GitHub. Also used to check if it is enabled in the front-end.
|
||||||
|
- id: $$cap_TYPEBOT_GITHUB_CLIENT_SECRET
|
||||||
|
label: GitHub | Client Secret
|
||||||
|
description: Optional application secret from GitHub.
|
||||||
|
- id: $$cap_TYPEBOT_GITLAB_CLIENT_ID
|
||||||
|
label: GitLab | Client ID
|
||||||
|
description: Optional application client ID from GitLab. Also used to check if it is enabled in the front-end.
|
||||||
|
- id: $$cap_TYPEBOT_GITLAB_CLIENT_SECRET
|
||||||
|
label: GitLab | Client Secret
|
||||||
|
description: Optional application secret from GitLab.
|
||||||
|
- id: $$cap_TYPEBOT_GITLAB_BASE_URL
|
||||||
|
label: GitLab | Base URL
|
||||||
|
description: Optional GitLab instance base URL.
|
||||||
|
defaultValue: https://gitlab.com
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_TYPEBOT_GITLAB_REQUIRED_GROUPS
|
||||||
|
label: GitLab | Required Groups
|
||||||
|
description: Optional comma-separated list of groups the user has to be a direct member of (e.g. `foo,bar`).
|
||||||
|
- id: $$cap_TYPEBOT_GITLAB_NAME
|
||||||
|
label: GitLab | Base URL
|
||||||
|
description: Name of the GitLab instance, used for the SSO Login Button.
|
||||||
|
defaultValue: GitLab
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_TYPEBOT_FACEBOOK_CLIENT_ID
|
||||||
|
label: Facebook | Client ID
|
||||||
|
description: Optional application client ID from Facebook. Also used to check if it is enabled in the front-end.
|
||||||
|
- id: $$cap_TYPEBOT_FACEBOOK_CLIENT_SECRET
|
||||||
|
label: Facebook | Client Secret
|
||||||
|
description: Optional application secret from Facebook.
|
||||||
|
- id: $$cap_TYPEBOT_AZURE_AD_CLIENT_ID
|
||||||
|
label: Azure AD | Client ID
|
||||||
|
description: Optional application client ID from Azure AD. Also used to check if it is enabled in the front-end.
|
||||||
|
- id: $$cap_TYPEBOT_AZURE_AD_CLIENT_SECRET
|
||||||
|
label: Azure AD | Client Secret
|
||||||
|
description: Optional application client secret from Azure AD. Can be obtained from Azure Portal.
|
||||||
|
- id: $$cap_TYPEBOT_AZURE_AD_TENANT_ID
|
||||||
|
label: Azure AD | Tenant ID
|
||||||
|
description: Optional Azure AD tenant ID.
|
||||||
|
- id: $$cap_TYPEBOT_S3_ACCESS_KEY
|
||||||
|
label: S3 | Access Key
|
||||||
|
description: Optional S3 access key. Also used to check if upload feature is enabled.
|
||||||
|
- id: $$cap_TYPEBOT_S3_SECRET_KEY
|
||||||
|
label: S3 | Secret Key
|
||||||
|
description: Optional S3 secret key.
|
||||||
|
- id: $$cap_TYPEBOT_S3_BUCKET
|
||||||
|
label: S3 | Bucket
|
||||||
|
description: Name of the bucket where assets will be uploaded in.
|
||||||
|
defaultValue: typebot
|
||||||
|
validRegex: /.{1,}/
|
||||||
|
- id: $$cap_TYPEBOT_S3_PORT
|
||||||
|
label: S3 | Port
|
||||||
|
description: Optional S3 host port number.
|
||||||
|
- id: $$cap_TYPEBOT_S3_ENDPOINT
|
||||||
|
label: S3 | Endpoint
|
||||||
|
description: Optional S3 endpoint.
|
||||||
|
- id: $$cap_TYPEBOT_S3_SSL
|
||||||
|
label: S3 | Secure Connection
|
||||||
|
description: Whether to use SSL when establishing the connection.
|
||||||
|
defaultValue: 'true'
|
||||||
|
validRegex: /^(true|false)$/
|
||||||
|
- id: $$cap_TYPEBOT_S3_REGION
|
||||||
|
label: S3 | Region
|
||||||
|
description: Optional S3 region.
|
||||||
|
- id: $$cap_TYPEBOT_GIPHY_API_KEY
|
||||||
|
label: Giphy | API Key
|
||||||
|
description: Optional Giphy API key.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Loading…
Reference in New Issue