chatwoot-develop/progresso/guia_preview_local.md

3.3 KiB

Guia de Configuração e Preview Local (Chatwoot Develop)

Objetivo: Rodar o ambiente de desenvolvimento chatwoot-develop localmente via Docker para validação de funcionalidades (ex: Integrações WhatsApp).

🚀 Como Iniciar Rapidamente

  1. Vá para a pasta do projeto:

    cd /Users/user/Chatwoot/chatwoot-develop
    
  2. Suba os containers:

    docker-compose up
    

    Aguarde até ver logs indicando que rails (porta 3000) e vite (porta 3036) estão prontos.

  3. Acesse: Acesse http://localhost:3000.

    • Login: rodrigobm10@gmail.com
    • Senha: Password123!

🛠️ Solução de Problemas Comuns (Troubleshooting)

Se algo der errado, consulte os erros abaixo que enfrentamos e como resolvemos:

1. Erro: ActiveRecord::NoDatabaseError

Sintoma: Tela vermelha dizendo que o banco chatwoot_dev não existe. Causa: O banco de dados Postgres foi iniciado, mas o banco específico da aplicação não foi criado. Solução: Abra um novo terminal na pasta do projeto e rode:

docker-compose exec rails bundle exec rails db:create db:migrate

Se pedir para rodar seeds, adicione db:seed ao final.

2. Erro: No account found (Login travado)

Sintoma: Você faz login, mas cai numa tela branca dizendo "No account found". Causa: O usuário existe no banco, mas não tem vínculo (AccountUser) com nenhuma conta. Solução: Rode este comando (SQL Direto) para forçar o vínculo e liberar o acesso:

docker-compose exec postgres psql -U postgres -d chatwoot_dev -c "INSERT INTO account_users (user_id, account_id, role, created_at, updated_at) VALUES (1, 1, 0, NOW(), NOW()) ON CONFLICT DO NOTHING;"

3. Erro no Vite: Activating bundler (2.5.11) failed

Sintoma: O container vite cai com erro dizendo que não achou o bundler 2.5.11. Causa: A imagem Docker pode ter uma versão do Ruby/Bundler diferente do Gemfile.lock. Solução: Editamos o docker-compose.yaml para instalar a versão correta antes de rodar:

# docker-compose.yaml
vite:
  command: sh -c "gem install bundler:2.5.11 && bin/vite dev"

4. Erro de Conexão com Banco (Porta 5438 vs 5432)

Sintoma: O Rails não conecta no Postgres (Connection refused). Causa: O arquivo .env local define POSTGRES_PORT=5438 (porta externa), mas dentro da rede Docker o Rails deve falar na porta interna 5432. Solução: Forçamos a porta interna no docker-compose.yaml (services rails, sidekiq, migrate):

environment:
  - POSTGRES_PORT=5432
  - DATABASE_URL= # Deixar vazio para não pegar do .env

5. Erro no Build Frontend: PromoBanner.vue not found

Sintoma: O vite falha ao compilar dizendo que não acha esse arquivo. Causa: Arquivo presente na branch main mas faltando na develop. Solução: Criar o arquivo manualmente em app/javascript/dashboard/components-next/banner/PromoBanner.vue (copiando do repo principal).


📝 Comandos Úteis

  • Reiniciar serviços (limpa alguns erros voláteis):

    docker-compose restart rails sidekiq
    
  • Limpar Cache (Redis):

    docker-compose exec redis redis-cli FLUSHALL
    
  • Resetar tudo (Cuidado: apaga dados):

    docker-compose down -v