Introducing our new CEO Don Johnson - Read More

elestio/typebot-viewer

Verified Publisher

By Elestio

Updated about 3 hours ago

Typebot-viewer, verified and packaged by Elestio

Image
Content Management System
Integration & Delivery
Web Servers
4

50K+

elest.io

DiscordElestio examplesBlog

Typebot, verified and packaged by Elestio

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.

typebot

Deploy a fully managed typebot on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.

deploy

Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

Usage

Git clone

You can deploy it easily with the following command:

git clone https://github.com/elestio-examples/typebot.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Create data folders with correct permissions

mkdir -p ./s3_data;
chown -R 1001:1001 ./s3_data;

mkdir -p ./db_data;
chown -R 1001:1001 ./db_data;

Run the project with the following command

docker-compose up -d

You can access the Web UI at: http://your-domain:8484

Docker-compose

Here are some example snippets to help you get started creating a container.

version: "3.3"
services:
minio:
    image: minio/minio
    command: server /data
    ports:
    - "172.17.0.1:9000:9000"
    environment:
    MINIO_ROOT_USER: minio
    MINIO_ROOT_PASSWORD: ${ADMIN_PASSWORD}
    volumes:
    - ./s3_data:/data
# This service just makes sure a bucket with the right policies is created
createbuckets:
    image: minio/mc
    depends_on:
    - minio
    entrypoint: >
    /bin/sh -c "
    sleep 10;
    /usr/bin/mc config host add minio http://minio:9000 minio ${ADMIN_PASSWORD};
    /usr/bin/mc mb minio/typebot;
    /usr/bin/mc anonymous set public minio/typebot/public;
    exit 0;
    "
typebot-db:
    image: elestio/postgres:latest
    restart: always
    volumes:
    - ./db_data:/var/lib/postgresql/data
    environment:
    - POSTGRES_DB=typebot
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    - POSTGRES_HOST_AUTH_METHOD=trust
typebot-builder:
    image: elestio/typebot-builder:${SOFTWARE_VERSION_TAG}
    restart: always
    depends_on:
    - typebot-db
    ports:
    - "172.17.0.1:8484:3000"
    # extra_hosts:
    #   - 'host.docker.internal:host-gateway'
    # See https://docs.typebot.io/self-hosting/configuration/builder for more configuration options
    environment:
    - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@typebot-db:5432/typebot
    - NEXTAUTH_URL=${NEXTAUTH_URL}
    - NEXT_PUBLIC_VIEWER_URL=${NEXT_PUBLIC_VIEWER_URL}
    - ENCRYPTION_SECRET=SECRET_TO_CHANGE
    - ADMIN_EMAIL=${ADMIN_EMAIL}
    - SMTP_HOST=${SMTP_HOST}
    - SMTP_PORT=${SMTP_PORT}
    - NEXT_PUBLIC_SMTP_FROM=${NEXT_PUBLIC_SMTP_FROM}
    - SMTP_SECURE=${SMTP_SECURE}
    - SMTP_AUTH_DISABLED=${SMTP_AUTH_DISABLED}
    - S3_ACCESS_KEY=minio
    - S3_SECRET_KEY=${ADMIN_PASSWORD}
    - S3_BUCKET=typebot
    - S3_PORT=${MINIO_PORT}
    - S3_ENDPOINT=${MINIO_ENDPOINT}
    - S3_SSL=true
typebot-viewer:
    image: elestio/typebot-viewer:${SOFTWARE_VERSION_TAG}
    restart: always
    ports:
    - "172.17.0.1:8585:3000"
    # See https://docs.typebot.io/self-hosting/configuration/viewer for more configuration options
    environment:
    - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@typebot-db:5432/typebot
    - NEXT_PUBLIC_VIEWER_URL=${NEXT_PUBLIC_VIEWER_URL}
    - ENCRYPTION_SECRET=SECRET_TO_CHANGE
    - NEXTAUTH_URL=${NEXTAUTH_URL}
    - ADMIN_EMAIL=${ADMIN_EMAIL}
    - SMTP_HOST=${SMTP_HOST}
    - SMTP_PORT=${SMTP_PORT}
    - NEXT_PUBLIC_SMTP_FROM=${NEXT_PUBLIC_SMTP_FROM}
    - SMTP_SECURE=${SMTP_SECURE}
    - SMTP_AUTH_DISABLED=${SMTP_AUTH_DISABLED}
    - S3_ACCESS_KEY=minio
    - S3_SECRET_KEY=${ADMIN_PASSWORD}
    - S3_BUCKET=typebot
    - S3_PORT=${MINIO_PORT}
    - S3_ENDPOINT=${MINIO_ENDPOINT}
    - S3_SSL=true
Environment variables
VariableValue (example)
NEXTAUTH_URLhttp://yourdomain:8484
NEXT_PUBLIC_VIEWER_URLhttp://yourdomain:8485
ADMIN_EMAILadmin@gmail.com
ADMIN_PASSWORDyour-password
POSTGRES_PASSWORDyour-password
SOFTWARE_VERSION_TAGlatest
SMTP_HOSTyour.host
SMTP_PORT25
NEXT_PUBLIC_SMTP_FROMsender@mail.com
SMTP_SECUREfalse
SMTP_AUTH_DISABLEDfalse
MINIO_PORT39533
MINIO_ENDPOINThttp://minio:9000

Maintenance

Logging

The Elestio Typebot Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Links

Docker Pull Command

docker pull elestio/typebot-viewer