109 lines
3.3 KiB
Markdown
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
|
|
```
|