diff --git a/public/v4/apps/typebot.yml b/public/v4/apps/typebot.yml new file mode 100644 index 0000000..757502e --- /dev/null +++ b/public/v4/apps/typebot.yml @@ -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 `). + - 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. diff --git a/public/v4/logos/typebot.png b/public/v4/logos/typebot.png new file mode 100644 index 0000000..6441ce6 Binary files /dev/null and b/public/v4/logos/typebot.png differ