typebot.io icon indicating copy to clipboard operation
typebot.io copied to clipboard

CapRover one click app

Open baptisteArno opened this issue 3 years ago • 3 comments

Would be great to list Typebot in the One click app CapRover repo

baptisteArno avatar May 25 '22 15:05 baptisteArno

I made a one-click-app template to use until the official one gets released. Make sure to update the following enviroment variables with what you want:

Copy and paste the below code in the One-Click-Apps template of caprover:

captainVersion: 4
caproverOneClickApp:
    instructions:
        start: Just a plain Docker Compose.
        end: Docker Compose is deployed.
########
version: '3.9'
services:
  $$cap_appname-db:
    image: postgres:13
    restart: always
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: typebot
      POSTGRES_PASSWORD: typebot
  $$cap_appname-builder:
    image: baptistearno/typebot-builder:latest
    build:
      context: .
      args:
        - SCOPE=builder
    restart: always
    depends_on:
      - $$cap_appname-db
    ports:
      - '8080:3000'
    extra_hosts:
      - 'host.docker.internal:host-gateway'
    # See https://docs.typebot.io/self-hosting/configuration for more configuration options
    caproverExtra:
      containerHttpPort: '3000'
	environment:
      DATABASE_URL: postgresql://postgres:typebot@srv-captain--$$cap_appname-db:5432/typebot
      NEXTAUTH_URL: http://$$cap_appname-builder.$$cap_root_domain
      NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain
      ENCRYPTION_SECRET: $$cap_gen_random_hex(32)
      ADMIN_EMAIL: [email protected]
      SMTP_USERNAME: [email protected]
      SMTP_PASSWORD: password
      SMTP_HOST: smtp.example.com
      SMTP_PORT: 465
      NEXT_PUBLIC_SMTP_FROM: [email protected]
  $$cap_appname-viewer:
    image: baptistearno/typebot-viewer:latest
    restart: always
    ports:
      - '8081:3000'
    # See https://docs.typebot.io/self-hosting/configuration for more configuration options
    caproverExtra:
      containerHttpPort: '3000'
	environment:
      DATABASE_URL: postgresql://postgres:typebot@srv-captain--$$cap_appname-db:5432/typebot
      NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain
      ENCRYPTION_SECRET: $$cap_gen_random_hex(32)
volumes:

dantosXD avatar May 31 '22 19:05 dantosXD

Here is an actual 1-click-app install config.

captainVersion: 4
services:
  $$cap_appname-db:
    image: postgres:13
    restart: always
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: $$cap_db_name
      POSTGRES_PASSWORD: $$cap_db_password
  $$cap_appname-builder:
    image: baptistearno/typebot-builder:$$cap_builder_version
    build:
      context: .
      args:
        - SCOPE=builder
    restart: always
    depends_on:
      - $$cap_appname-db
    ports:
      - '8080:3000'
    caproverExtra:
      containerHttpPort: '3000'
    extra_hosts:
      - 'host.docker.internal:host-gateway'
    # See https://docs.typebot.io/self-hosting/configuration for more configuration options
    environment:
      DATABASE_URL: postgresql://postgres:typebot@$$srv-captain--cap_appname-db:5432/typebot
      NEXTAUTH_URL: http://$$cap_appname-builder.$$cap_root_domain
      NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain
      ENCRYPTION_SECRET: $$cap_gen_random_hex(32)
      ADMIN_EMAIL: $$cap_admin_email
      SMTP_USERNAME: $$cap_SMTP_username
      SMTP_PASSWORD: $$cap_SMTP_password
      SMTP_HOST: $$cap_SMTP_host
      SMTP_PORT: $$cap_SMTP_port
      NEXT_PUBLIC_SMTP_FROM: $$cap_SMTP_emailfrom
  $$cap_appname-viewer:
    image: baptistearno/typebot-viewer:$$cap_viewer_version
    restart: always
    ports:
      - '8081:3000'
    caproverExtra:
      containerHttpPort: '3000'
    # See https://docs.typebot.io/self-hosting/configuration for more configuration options
    environment:
      DATABASE_URL: postgresql://postgres:typebot@$$srv-captain--cap_appname-db:5432/typebot
      NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain
      ENCRYPTION_SECRET: $$cap_gen_random_hex(32)
volumes:
caproverOneClickApp:
    variables:
        - id: '$$cap_db_name'
          label: Postgres Database Name
          description: Enter a name of your database 
        - id: '$$cap_db_password'
          label: Postgres Database Password
          description: Enter a password for your database
        - id: '$$cap_viewer_version'
          label: Typbot Viewer Version
          defaultValue: 'main'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/baptistearno/typebot-viewer/tags
        - id: '$$cap_builder_version'
          label: Typbot Viewer Version
          defaultValue: 'main'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/baptistearno/typebot-builder/tags
        - id: '$$cap_admin_email'
          label: Admin Email
          description: Email for the admin account
        - id: '$$cap_SMTP_username'
          label: SMTP Username
          description: Username
        - id: '$$cap_SMTP_password'
          label: SMTP Password
          description: Password
        - id: '$$cap_SMTP_host'
          label: SMTP Host
          description: SMTP server address (smtp.example.com)
        - id: '$$cap_SMTP_port'
          label: SMTP Port
          description: SMTP Port
        - id: '$$cap_SMTP_emailfrom'
          label: SMTP Email From
          description: The email account you want the replys sent from
    instructions:
        start: |-
            Open-source conversational forms builder. Typebot gives you powerful blocks to create unique chat experiences. Embed them anywhere on your web/mobile apps and start collecting results like magic.
        end: |-
            You can build your typebot by going to http://$$cap_appname-builder.$$cap_root_domain or the viewer at http://$$cap_appname-viewer.$$cap_root_domain
    displayName: Typebot.io
    isOfficial: true
    description: Open-source conversational forms builder.
    documentation: This docker-compose is taken from https://github.com/baptisteArno/typebot.io/blob/main/docker-compose.yml

dantosXD avatar Jun 02 '22 18:06 dantosXD

Awesome. Thx for the help, I'll check it out! You're the man!

baptisteArno avatar Jun 02 '22 18:06 baptisteArno

I have added it. Issue can be closed.

ronaldloyko avatar Oct 11 '22 15:10 ronaldloyko

You rock, thank you! 💙

baptisteArno avatar Oct 13 '22 13:10 baptisteArno