Este guia descreve como desenvolver, rebuildar e gerenciar o ambiente da API usando o docker-compose.dev.yml — o único fluxo oficial e testado atualmente.
# Opcional: limpar cache Docker
docker system prune -f
# Executar setup inicial
# Linux/Mac - BASH <-
./scripts/setup-dev.sh
# Windows - PowerShell
scripts\setup-dev.bat# Subir ambiente (modo background)
docker compose -f docker-compose.dev.yml up -d🔁 O hot reload cuida de alterações no código automaticamente.
Rebuild necessário somente quando:
# package.json ou pnpm-lock.yaml alterado
docker compose -f docker-compose.dev.yml up --build -d# Mudou Node version, pnpm ou build steps
docker compose -f docker-compose.dev.yml up --build -ddocker compose -f docker-compose.dev.yml up --build -d
docker compose -f docker-compose.dev.yml exec api npx prisma migrate dev --name nome_da_migracaoMudanças que ativam hot reload automático:
- Código em
src/**/*.ts - DTOs, Controllers, Services
- Arquivo de seed (
prisma/seed.ts)
Se quiser forçar um reload manual:
docker compose -f docker-compose.dev.yml restart apidocker compose -f docker-compose.dev.yml up -d✅ Hot reload automático via ts-node-dev.
docker compose -f docker-compose.dev.yml up --build -d
docker compose -f docker-compose.dev.yml exec api npx prisma migrate dev --name nome_da_migracao# 1. Edite package.json
# 2. Rebuild
docker compose -f docker-compose.dev.yml up --build -ddocker compose -f docker-compose.dev.yml ps# Todos os serviços
docker compose -f docker-compose.dev.yml logs -f
# Apenas API
docker compose -f docker-compose.dev.yml logs -f api
# Apenas banco
docker compose -f docker-compose.dev.yml logs -f db# Apenas API
docker compose -f docker-compose.dev.yml restart api
# Todos os serviços
docker compose -f docker-compose.dev.yml restartdocker compose -f docker-compose.dev.yml downdocker compose -f docker-compose.dev.yml down -v# Abrir Prisma Studio
docker compose -f docker-compose.dev.yml exec api npx prisma studio
# Rodar migrations e seeds
docker compose -f docker-compose.dev.yml exec api npx prisma migrate deploy
docker compose -f docker-compose.dev.yml exec api npx prisma db seed| Serviço | URL |
|---|---|
| API | http://localhost:3000 |
| Prisma Studio | http://localhost:5555 |
| PostgreSQL | localhost:5433 |
Criados automaticamente pelo seed:
| Papel | Senha | |
|---|---|---|
| Admin | admin@bolsa.com | admin123 |
| Usuário | test@bolsa.com | test123 |
- 90% das vezes não é necessário rebuildar — o hot reload cuida do resto.
- Sempre rebuild quando alterar dependências ou schema Prisma.
- Use
down -vapenas se quiser resetar o banco completamente. - Monitore logs com
docker compose logs -f. - Prisma Studio é ótimo para inspecionar dados.
docker compose -f docker-compose.dev.yml logs -f api
docker compose -f docker-compose.dev.yml restart apidocker compose -f docker-compose.dev.yml ps
docker compose -f docker-compose.dev.yml logs -f db
docker compose -f docker-compose.dev.yml restart dbchmod +x scripts/setup-dev.shdocker compose -f docker-compose.dev.yml down -v
docker system prune -a
./scripts/setup-dev.sh