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 NEXTAUTH_URL_INTERNAL: http://srv-captain--$$cap_appname-builder:3000 DEFAULT_WORKSPACE_PLAN: $$cap_TYPEBOT_DEFAULT_WORKSPACE_PLAN 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_NEXT_PUBLIC_SMTP_FROM SMTP_SECURE: $$cap_TYPEBOT_SMTP_SECURE SMTP_AUTH_DISABLED: $$cap_TYPEBOT_SMTP_AUTH_DISABLED 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 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 NEXTAUTH_URL_INTERNAL: http://srv-captain--$$cap_appname-builder:3000 DEFAULT_WORKSPACE_PLAN: $$cap_TYPEBOT_DEFAULT_WORKSPACE_PLAN 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_NEXT_PUBLIC_SMTP_FROM SMTP_SECURE: $$cap_TYPEBOT_SMTP_SECURE SMTP_AUTH_DISABLED: $$cap_TYPEBOT_SMTP_AUTH_DISABLED 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:/var/lib/postgresql/data 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. 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_POSTGRES_VERSION label: POSTGRES_VERSION description: Check out their valid tags at https://hub.docker.com/_/postgres/tags defaultValue: '14.0-alpine' validRegex: /.{1,}/ - id: $$cap_POSTGRES_DB label: POSTGRES_DB description: Name of the database. defaultValue: typebot validRegex: /.{1,}/ - id: $$cap_POSTGRES_USER label: POSTGRES_USER description: Name of the database user. defaultValue: typebot validRegex: /.{1,}/ - id: $$cap_POSTGRES_PASSWORD label: POSTGRES_PASSWORD description: Password of the database user. defaultValue: $$cap_gen_random_hex(16) validRegex: /.{1,}/ - id: $$cap_TYPEBOT_VERSION label: TYPEBOT_VERSION description: Version of Typebot. Check out their valid tags at https://hub.docker.com/r/baptistearno/typebot-builder/tags defaultValue: 2.22.2 validRegex: /.{1,}/ - id: $$cap_TYPEBOT_ENCRYPTION_SECRET label: ENCRYPTION_SECRET description: A 256-bit key used to encrypt sensitive data. The secret should be the same between builder and viewer. You can also generate one running `openssl rand -base64 24 | tr -d '\n' ; echo` defaultValue: $$cap_gen_random_hex(32) validRegex: /.{1,}/ - id: $$cap_TYPEBOT_ADMIN_EMAIL label: ADMIN_EMAIL description: The email that will get an UNLIMITED plan on user creation. The associated user will be able to bypass database rules. You can provide multiple emails separated by a comma without spaces. validRegex: /.{1,}/ - id: $$cap_TYPEBOT_DEFAULT_WORKSPACE_PLAN label: DEFAULT_WORKSPACE_PLAN description: Default workspace plan on user creation or when a user creates a new workspace. Possible values are FREE, STARTER, PRO, LIFETIME, UNLIMITED. The default plan for admin user is UNLIMITED. defaultValue: FREE - id: $$cap_TYPEBOT_DISABLE_SIGNUP label: DISABLE_SIGNUP description: Disable new user sign ups. Invited users are still able to sign up. defaultValue: 'false' validRegex: /^(true|false)$/ - id: $$cap_TYPEBOT_SMTP_USERNAME label: SMTP_USERNAME description: SMTP username. validRegex: /.{1,}/ - id: $$cap_TYPEBOT_SMTP_PASSWORD label: SMTP_PASSWORD description: SMTP password. validRegex: /.{1,}/ - id: $$cap_TYPEBOT_SMTP_HOST label: SMTP_HOST description: SMTP host. validRegex: /.{1,}/ - id: $$cap_TYPEBOT_SMTP_PORT label: SMTP_PORT description: SMTP port. defaultValue: 25 validRegex: /.{1,}/ - id: $$cap_TYPEBOT_NEXT_PUBLIC_SMTP_FROM label: NEXT_PUBLIC_SMTP_FROM description: From name and email (i.e. `Typebot Notifications `) - id: $$cap_TYPEBOT_SMTP_SECURE label: SMTP_SECURE 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: SMTP_AUTH_DISABLED description: To disable the authentication by email but still use the provided config for notifications. defaultValue: 'false' validRegex: /^(true|false)$/