Como instalar o Chatwoot com Portainer

Passo 1

Antes de começarmos a configuração do Chatwoot 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.

Servidor VPS com MEGA Desconto!

Pré-requisitos:

Passo 2

Configurando a Stack do Chatwoot

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 chatwoot;
				
			

[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
				
					docker exec -it <nome do container> psql -U postgres
				
			

Crie um banco de dados com:

				
					CREATE DATABASE chatwoot;
				
			

3. Configure e faça upload sua Stack.

Clique em Stack no menu lateral e depois em + Add Stack no menu superior do lado direito.

Subindo-Stack-Portainer-Traefik

Altere chatwoot_app e chatwoot_worker:

  •  INSTALLATION_NAME
  •  SECRET_KEY_BASE
  • FRONTEND_URL
  • POSTGRES_USERNAME
  • POSTGRES_PASSWORD
  • traefik.http.routers.chatwoot_app.rule

Atenção! Opcional a configuração do SMTP para envio de Email

Passo 1: Acesse suas Configurações de Conta do Google

Passo 2: Acesse a seção “Segurança”

  • Depois de fazer login, vá para a seção “Segurança”. Você pode encontrar isso no menu à esquerda da página.

Passo 3: Encontre a opção “Senhas de app”

  • Role para baixo até encontrar a opção “Senhas de app” e clique nela. Isso geralmente está sob a seção “Fazer login no Google”.

Passo 4: Selecione o aplicativo

  • Você verá uma lista de aplicativos compatíveis com senhas de app. Escolha o aplicativo para o qual deseja gerar uma senha.

Passo 5: Crie a senha de app

  • Selecione o tipo de dispositivo (por exemplo, “Outro (personalizado)”) e clique em “Gerar”. O Google irá gerar uma senha exclusiva para o aplicativo escolhido.

Passo 6: Use a senha de app

  • Copie a senha gerada e cole-a no aplicativo onde está configurando a conta. Certifique-se de usar essa senha em vez da sua senha regular do Gmail.

Passo 7: Guarde sua senha de app em um local seguro

  • Depois de usar a senha de app, é recomendável que você a armazene em um local seguro, como em um gerenciador de senhas, para referência futura.
				
					version: "3.8"

#comando para usar
#command: bundle exec rails db:chatwoot_prepare

services:
  #serviço principal do front chatwoot
  chatwoot_app:
    image: chatwoot/chatwoot:v3.9.0
    command: bundle exec rails s -p 3000 -b 0.0.0.0
    entrypoint: docker/entrypoints/rails.sh
    volumes:
      - chatwoot_data:/app/storage
    networks:
      - traefik_public
      - digital_network
    environment:
      INSTALLATION_NAME: digitalinterativo
      NODE_ENV: production
      RAILS_ENV: production
      INSTALLATION_ENV: docker
      SECRET_KEY_BASE: <SUA_KEY>
      FRONTEND_URL: https://chatwoot.seu_dominio.com.br
      DEFAULT_LOCALE: pt_BR
      FORCE_SSL: "true"
      ENABLE_ACCOUNT_SIGNUP: "false"
      REDIS_URL: redis://redis:6379
      # Servidor de Email Gmail
      MAILER_SENDER_EMAIL: Chatwoot <seuemail@gmail.com>
      SMTP_DOMAIN: gmail.com
      SMTP_ADDRESS: smtp.gmail.com
      SMTP_PORT: 587
      SMTP_USERNAME: seuemail@gmail.com
      SMTP_PASSWORD: <sua_senha_app>
      SMTP_AUTHENTICATION: login
      SMTP_ENABLE_STARTTLS_AUTO: "true"
      SMTP_OPENSSL_VERIFY_MODE: peer
      MAILER_INBOUND_EMAIL_DOMAIN: <seuemail>@gmail.com
      # Banco de dados
      POSTGRES_HOST: postgres
      POSTGRES_USERNAME: postgres
      POSTGRES_PASSWORD: <SENHA_POSTGRES>
      POSTGRES_DATABASE: chatwoot
      # Armazenamento
      ACTIVE_STORAGE_SERVICE: local
      # logs
      RAILS_LOG_TO_STDOUT: "true"
      # Avatar Bot
      USE_INBOX_AVATAR_FOR_BOT: "true"
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: "0.5"
          memory: 512M
      labels:
        - traefik.enable=true
        - traefik.http.routers.chatwoot_app.rule=Host(`chatwoot.seu_dominio.com.br`)
        - traefik.http.routers.chatwoot_app.service=chatwoot_app
        - traefik.http.routers.chatwoot_app.entrypoints=websecure
        - traefik.http.routers.chatwoot_app.tls.certresolver=le
        - traefik.http.routers.chatwoot_app.tls=true
        - traefik.http.services.chatwoot_app.loadbalancer.server.port=3000
        # resolver problema de websocket
        - traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto=https
        - traefik.http.routers.chatwoot_app.middlewares=sslheader

  #worker
  chatwoot_worker:
    image: chatwoot/chatwoot:v3.9.0
    command: bundle exec sidekiq -C config/sidekiq.yml
    volumes:
      - chatwoot_data:/app/storage
    networks:
      - digital_network
    environment:
      INSTALLATION_NAME: digitalinterativo
      NODE_ENV: production
      RAILS_ENV: production
      INSTALLATION_ENV: docker
      SECRET_KEY_BASE: <SUA_KEY>
      FRONTEND_URL: https://chatwoot.seu_dominio.com.br
      DEFAULT_LOCALE: pt_BR
      FORCE_SSL: "true"
      ENABLE_ACCOUNT_SIGNUP: "false"
      REDIS_URL: redis://redis:6379
      # Servidor de Email Gmail
      MAILER_SENDER_EMAIL: Chatwoot <seuemail@gmail.com>
      SMTP_DOMAIN: gmail.com
      SMTP_ADDRESS: smtp.gmail.com
      SMTP_PORT: 587
      SMTP_USERNAME: seuemail@gmail.com
      SMTP_PASSWORD: <sua_senha_app>
      SMTP_AUTHENTICATION: login
      SMTP_ENABLE_STARTTLS_AUTO: "true"
      SMTP_OPENSSL_VERIFY_MODE: peer
      MAILER_INBOUND_EMAIL_DOMAIN: <seuemail>@gmail.com
      # Banco de dados
      POSTGRES_HOST: postgres
      POSTGRES_USERNAME: postgres
      POSTGRES_PASSWORD: <SENHA_POSTGRES>
      POSTGRES_DATABASE: chatwoot
      # Armazenamento
      ACTIVE_STORAGE_SERVICE: local
      # logs
      RAILS_LOG_TO_STDOUT: "true"
      # Avatar Bot
      USE_INBOX_AVATAR_FOR_BOT: "true"
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: "0.5"
          memory: 512M

volumes:
  chatwoot_data:
    external: true

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.

Passo 3

Acesse o terminal do Chatwoot pelo mesmo caminho feito anteriormente do postgres.

Terminal-Chatwoot-Portainer-APP-Action

Entre no terminal “APP” com:

  •  Comand: bin/ash/
  • User: root
 
Cole o comando a seguir:
				
					bundle exec rails db:chatwoot_prepare
				
			
Comando-Final-Chatwoot

[Alternativa 2]

Abra o terminal pelo Bitvise e execute o seguinte comando para acessar seu terminal do chatwoot_app copiando o nome do container conforme a foto abaixo:

Portainer-Digital-Interativo-Nome-do-Container
				
					docker exec -it <nome do container> /bin/ash

				
			

Execute o comando a seguir:

				
					bundle exec rails db:chatwoot_prepare
				
			
Comando-Final-Chatwoot

Parabens!

Chatwoot configurado e pronto para o primeiro acesso.

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