Passo 1
Antes de começarmos a configuração do Typebot no Portainer.io no Docker Swarm, é essencial garantir um desempenho ótimo e tempo de resposta rápido. Recomendamos contratar um servidor VPS Linux, Ubuntu ou Debian.
Pré-requisitos:
Passo 2
Configurando a Stack do Typebot e criando um banco de dados no Postgres
Passo 2.1
Antes de subir sua stack é preciso criar um banco de dados no Postgres, conforme o passa-a-passo logo abaixo:
- Acesse a Stack do Postgres

2. Acesse o terminal do postgres:
- Em User: Em vez de “root” acesse com “postgres”
- Dentro do terminal digite os comandos abaixo:
psql
CREATE DATABASE typebot;
[Alternativa 2]
Abra o terminal pelo Bitvise e execute o seguinte comando para acessar seu banco de dados do Postgres copiando o nome do container conforme a foto abaixo:

Copie o comando abaixo:
docker exec -it psql -U postgres
Crie um banco de dados com:
CREATE DATABASE typebot;
Passo 3
Configurando a Stack do Typebot
Clique em Stack no menu lateral e depois em + Add Stack no menu superior do lado direito.

Atente-se para dois serviços, sendo, um domínio para o typebot_builder e outro para o typebot_viewer.
version: "3.8"
services:
typebot_builder:
image: elestio/typebot-builder:v2.27.0
networks:
- traefik_public
- digital_network
environment:
#user:pass@hostname:porta/banco
DATABASE_URL: postgresql://postgres:[sua_senha]@postgres:5432/typebot
ENCRYPTION_SECRET: [key_32Caracteres]
NEXTAUTH_URL: https://[seu_dominio]
NEXT_PUBLIC_VIEWER_URL: https://[seu_dominio]
NEXTAUTH_URL_INTERNAL: http://localhost:3000
ADMIN_EMAIL: [seu_email]
#defina como "true" para desabilitar novos cadastros, faça isso depois de fazer o primeiro login
DISABLE_SIGNUP: "false"
#SMTP
SMTP_HOST: smtp.gmail.com
SMTP_USERNAME: [seu_email]
SMTP_PASSWORD: [senha_app_email]
#coloque dentro do sinal de maior e menor ex:
#Infomome o mesmo valor utilizado da variavel SMTP_USERNAME
NEXT_PUBLIC_SMTP_FROM: "[Nome_Empresa] "
SMTP_PORT: 587
SMTP_SECURE: "true"
#Minio
S3_ACCESS_KEY: [Usuario_Minio]
S3_SECRET_KEY: [Senha_Minio]
S3_BUCKET: typebot
S3_ENDPOINT: [url_API]
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: "1"
memory: 2048M
labels:
- traefik.enable=true
#SSL
- traefik.http.routers.typebot_builder.rule=Host(`[dominio_builder]`)
- traefik.http.routers.typebot_builder.tls.certresolver=le
- traefik.http.routers.typebot_builder.entrypoints=websecure
- traefik.http.routers.typebot_builder.tls=true
- traefik.http.routers.typebot_builder.service=typebot_builder
- traefik.http.services.typebot_builder.loadbalancer.server.port=3000
typebot_viewer:
image: elestio/typebot-viewer:v2.27.0
networks:
- traefik_public
- digital_network
environment:
DATABASE_URL: postgresql://postgres:[sua_senha]@postgres:5432/typebot
ENCRYPTION_SECRET: [key_32Caracteres]
NEXTAUTH_URL: https://[seu_dominio]
NEXT_PUBLIC_VIEWER_URL: https://[seu_dominio]
NEXTAUTH_URL_INTERNAL: http://localhost:3000
ADMIN_EMAIL: [seu_email]
#defina como "true" para desabilitar novos cadastros, faça isso depois de fazer o primeiro login
DISABLE_SIGNUP: "false"
#SMTP
SMTP_HOST: smtp.gmail.com
SMTP_USERNAME: [seu_email]
SMTP_PASSWORD: [senha_app_email]
#coloque dentro do sinal de maior e menor ex:
#Infomome o mesmo valor utilizado da variavel SMTP_USERNAME
NEXT_PUBLIC_SMTP_FROM: "[Nome_Empresa] "
SMTP_PORT: 587
SMTP_SECURE: "true"
#Minio
S3_ACCESS_KEY: [usuario]
S3_SECRET_KEY: [key_32Caracteres]
S3_BUCKET: typebot
S3_ENDPOINT: [url_API]
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: "1"
memory: 2048M
labels:
- traefik.enable=true
#SSL
- traefik.http.routers.typebot_viewer.rule=Host(`[dominio_viewer]`)
- traefik.http.routers.typebot_viewer.tls.certresolver=le
- traefik.http.routers.typebot_viewer.entrypoints=websecure
- traefik.http.routers.typebot_viewer.tls=true
- traefik.http.routers.typebot_viewer.service=typebot_viewer
- traefik.http.services.typebot_viewer.loadbalancer.server.port=3000
networks:
traefik_public:
external: true
digital_network:
external: true
Use o link abaixo para gerar a senha de 32 caracteres conforme mencionado no vídeo.
Gostou do conteúdo? Quer apoiar nosso trabalho?
Você pode fazer uma doação e nos ajudar a continuar criando conteúdo de qualidade. Acesse o link para ver as formas de pagamento disponíveis: https://www.asaas.com/c/io73sms6maiim7ud
Chave Pix: (15) 99855-8323