diff --git a/typebot/typebot.yaml b/typebot/typebot.yaml new file mode 100644 index 0000000..7526647 --- /dev/null +++ b/typebot/typebot.yaml @@ -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 \ No newline at end of file