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