typebot.yaml

Stack do typebot para docker swarm.
This commit is contained in:
2025-03-26 17:23:02 +00:00
parent 2cf0914a06
commit dc86882a2e

200
typebot/typebot.yaml Normal file
View File

@@ -0,0 +1,200 @@
services:
typebot_builder:
image: baptistearno/typebot-builder:latest
networks:
- traefik_network
- postgres_network
secrets:
- minio_root_password
environment:
##################################
# Configuração do banco de dados #
##################################
#postgresql://usuario:senha@hostname:porta/banco
DATABASE_URL: postgresql://automacao:Qgs%23j7Cwugag0dt%2A7pnD7heonoVDg4KpBBEgvLD2@postgres:5432/typebot
ENCRYPTION_SECRET: F7NLLRmif6+iOnhKbm5Bif2+jG0WPp2d
NEXTAUTH_URL: https://builder.omegaflow.com.br
NEXT_PUBLIC_VIEWER_URL: https://bot.omegaflow.com.br
ADMIN_EMAIL: raiffysampaio@gmail.com
#########################################################################
# A varivável de signup pode ser descomentada e marcada como true para #
# impedir que qualquer pessoa cria uma conta no site. #
#########################################################################
#DISABLE_SIGNUP: "true"
#########################################################################################
# Caso consiga fazer funcionar, é até melhor na questão de segurança utilizar variáveis #
#no lugar de texto plano. As informações de variaveis estão no arquivo .env #
#########################################################################################
#DATABASE_URL: ${DATABASE_URL}
#ENCRYPTION_SECRET: ${ENCRYPTION_SECRET}
#NEXTAUTH_URL: ${NEXTAUTH_URL}
#NEXT_PUBLIC_VIEWER_URL: ${NEXT_PUBLIC_VIEWER_URL}
#ADMIN_EMAIL: ${ADMIN_EMAIL}
########################
# Configuração do SMTP #
########################
SMTP_HOST: smtp.gmail.com
SMTP_USERNAME: raiffysampaio@gmail.com
SMTP_PASSWORD: shrvljlihelgpqcb
NEXT_PUBLIC_SMTP_FROM: Omegaflow
SMTP_PORT: 465
SMTP_SECURE: "true"
#########################################################################################
# Caso consiga fazer funcionar, é até melhor na questão de segurança utilizar variáveis #
#no lugar de texto plano. As informações de variaveis estão no arquivo .env #
#########################################################################################
#SMTP_HOST: ${SMTP_HOST}
#SMTP_USERNAME: ${SMTP_USERNAME}
#SMTP_PASSWORD: ${SMTP_PASSWORD}
#NEXT_PUBLIC_SMTP_FROM: ${NEXT_PUBLIC_SMTP_FROM}
#SMTP_PORT: ${NEXT_PUBLIC_SMTP_FROM}
#SMTP_SECURE: ${SMTP_SECURE}
#########################
# Configuração do minio #
#########################
S3_ACCESS_KEY: raiffy
S3_SECRET_KEY: F@X6%Z2^Uk3tta!aWvYoivmX
# Não consegui fazer funcionar com a variável
#S3_SECRET_KEY: ${S3_SECRET_KEY}
S3_BUCKET: typebot
S3_ENDPOINT: storage.omegaflow.com.br
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: '0.2'
memory: 512M
labels:
- "traefik.enable=true"
- "traefik.http.routers.typebot_builder.rule=Host(`builder.omegaflow.com.br`)"
- "traefik.http.routers.typebot_builder.entrypoints=websecure"
- "traefik.http.routers.typebot_builder.tls=true"
- "traefik.http.routers.typebot_builder.tls.certresolver=lets-encrypt"
- "traefik.http.routers.typebot_builder.service=typebot_builder"
- "traefik.http.services.typebot_builder.loadbalancer.server.port=3000"
typebot_viewer:
image: baptistearno/typebot-viewer:latest
networks:
- traefik_network
- postgres_network
secrets:
- minio_root_password
environment:
##################################
# Configuração do banco de dados #
##################################
#postgresql://usuario:senha@hostname:porta/banco
DATABASE_URL: postgresql://automacao:Qgs%23j7Cwugag0dt%2A7pnD7heonoVDg4KpBBEgvLD2@postgres:5432/typebot
ENCRYPTION_SECRET: F7NLLRmif6+iOnhKbm5Bif2+jG0WPp2d
NEXTAUTH_URL: https://builder.omegaflow.com.br
NEXT_PUBLIC_VIEWER_URL: https://bot.omegaflow.com.br
ADMIN_EMAIL: raiffysampaio@gmail.com
#########################################################################
# A varivável de signup pode ser descomentada e marcada como true para #
# impedir que qualquer pessoa cria uma conta no site. #
#########################################################################
#DISABLE_SIGNUP: "true"
#########################################################################################
# Caso consiga fazer funcionar, é até melhor na questão de segurança utilizar variáveis #
#no lugar de texto plano. As informações de variaveis estão no arquivo .env #
#########################################################################################
#DATABASE_URL: ${DATABASE_URL}
#ENCRYPTION_SECRET: ${ENCRYPTION_SECRET}
#NEXTAUTH_URL: ${NEXTAUTH_URL}
#NEXT_PUBLIC_VIEWER_URL: ${NEXT_PUBLIC_VIEWER_URL}
#ADMIN_EMAIL: ${ADMIN_EMAIL}
########################
# Configuração do SMTP #
########################
SMTP_HOST: smtp.gmail.com
SMTP_USERNAME: raiffysampaio@gmail.com
SMTP_PASSWORD: shrvljlihelgpqcb
NEXT_PUBLIC_SMTP_FROM: Omegaflow
SMTP_PORT: 465
SMTP_SECURE: "true"
#########################################################################################
# Caso consiga fazer funcionar, é até melhor na questão de segurança utilizar variáveis #
#no lugar de texto plano. As informações de variaveis estão no arquivo .env #
#########################################################################################
#SMTP_HOST: ${SMTP_HOST}
#SMTP_USERNAME: ${SMTP_USERNAME}
#SMTP_PASSWORD: ${SMTP_PASSWORD}
#NEXT_PUBLIC_SMTP_FROM: ${NEXT_PUBLIC_SMTP_FROM}
#SMTP_PORT: ${NEXT_PUBLIC_SMTP_FROM}
#SMTP_SECURE: ${SMTP_SECURE}
#########################
# Configuração do minio #
#########################
S3_ACCESS_KEY: raiffy
S3_SECRET_KEY: F@X6%Z2^Uk3tta!aWvYoivmX
# Não consegui fazer funcionar com a variável
#S3_SECRET_KEY: ${S3_SECRET_KEY}
S3_BUCKET: typebot
S3_ENDPOINT: storage.omegaflow.com.br
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: '0.2'
memory: 512M
labels:
- "traefik.enable=true"
- "traefik.http.routers.typebot_viewer.rule=Host(`bot.omegaflow.com.br`)"
- "traefik.http.routers.typebot_viewer.entrypoints=websecure"
- "traefik.http.routers.typebot_viewer.tls=true"
- "traefik.http.routers.typebot_viewer.tls.certresolver=lets-encrypt"
- "traefik.http.routers.typebot_viewer.service=typebot_viewer"
- "traefik.http.services.typebot_viewer.loadbalancer.server.port=3000"
##########################################################################
# Esse container serve apenas para criar o bucket corretamente no minio. #
# Depois que a criação do bucket ocorrer, pode remover da stack #
##########################################################################
create_buckets:
image: minio/minio:latest
networks:
- traefik_network
secrets:
- minio_root_password
depends_on:
- minio
environment:
# Não consegui fazer funcionar com a variável
#S3_SECRET_KEY: ${S3_SECRET_KEY}
entrypoint: >
/bin/sh -c "
sleep 10;
/usr/bin/mc config host add minio http://minio:9000 raiffy F@X6%Z2^Uk3tta!aWvYoivmX;
/usr/bin/mc mb minio/typebot;
/usr/bin/mc anonymous set public minio/typebot/public;
exit 0;
"
secrets:
minio_root_password:
external: true
networks:
traefik_network:
driver: overlay
attachable: true
external: true
postgres_network:
driver: overlay
attachable: true
external: true