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:
- 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 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:

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

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
- No seu navegador da web, acesse sua conta do Google visitando https://myaccount.google.com/.
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:
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
SMTP_DOMAIN: gmail.com
SMTP_ADDRESS: smtp.gmail.com
SMTP_PORT: 587
SMTP_USERNAME: seuemail@gmail.com
SMTP_PASSWORD:
SMTP_AUTHENTICATION: login
SMTP_ENABLE_STARTTLS_AUTO: "true"
SMTP_OPENSSL_VERIFY_MODE: peer
MAILER_INBOUND_EMAIL_DOMAIN: @gmail.com
# Banco de dados
POSTGRES_HOST: postgres
POSTGRES_USERNAME: postgres
POSTGRES_PASSWORD:
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:
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
SMTP_DOMAIN: gmail.com
SMTP_ADDRESS: smtp.gmail.com
SMTP_PORT: 587
SMTP_USERNAME: seuemail@gmail.com
SMTP_PASSWORD:
SMTP_AUTHENTICATION: login
SMTP_ENABLE_STARTTLS_AUTO: "true"
SMTP_OPENSSL_VERIFY_MODE: peer
MAILER_INBOUND_EMAIL_DOMAIN: @gmail.com
# Banco de dados
POSTGRES_HOST: postgres
POSTGRES_USERNAME: postgres
POSTGRES_PASSWORD:
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.

Entre no terminal “APP” com:
- Comand: bin/ash/
- User: root
bundle exec rails db:chatwoot_prepare

[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:

docker exec -it /bin/ash
Execute o comando a seguir:
bundle exec rails db:chatwoot_prepare

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