Como instalar o Typebot Open Source no Portainer

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:

  1.  Acesse a Stack do Postgres
Capa-Instalação-Portainer-Criando-Banco-de-Dados-Chatwoot

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:

Como encontrar o nome do container no Portainer

Copie o comando abaixo:

				
					docker exec -it <nome do container> 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.

Subindo-Stack-Portainer-Traefik

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: <michel@gmail.com>
      #Infomome o mesmo valor utilizado da variavel SMTP_USERNAME
      NEXT_PUBLIC_SMTP_FROM: "[Nome_Empresa] <seu_email>"
      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: <michel@gmail.com>
      #Infomome o mesmo valor utilizado da variavel SMTP_USERNAME
      NEXT_PUBLIC_SMTP_FROM: "[Nome_Empresa] <seu_email>"
      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

Share the Post:

Post Relacionados