chatwoot-develop/progresso/guia_preview_local.md

109 lines
3.3 KiB
Markdown

# 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:**
```bash
cd /Users/user/Chatwoot/chatwoot-develop
```
2. **Suba os containers:**
```bash
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](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:
```bash
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:
```bash
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:
```yaml
# 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`):
```yaml
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):**
```bash
docker-compose restart rails sidekiq
```
- **Limpar Cache (Redis):**
```bash
docker-compose exec redis redis-cli FLUSHALL
```
- **Resetar tudo (Cuidado: apaga dados):**
```bash
docker-compose down -v
```