Skip to content

Latest commit

 

History

History
231 lines (159 loc) · 4.5 KB

File metadata and controls

231 lines (159 loc) · 4.5 KB

🚀 Docker Quick Start - DigiVerse

Guia rápido para iniciar o DigiVerse com Docker em menos de 5 minutos.

⚡ Setup em 3 Passos

1️⃣ Configurar Ambiente

# Clonar repositório (se ainda não fez)
git clone https://github.com/CAFernandes/API-REST-Digimon.git
cd API-REST-Digimon

# Copiar variáveis de ambiente
cp .env.example .env

# (Opcional) Editar .env se necessário
# As configurações padrão funcionam para desenvolvimento local

2️⃣ Build das Imagens

# Build de todas as imagens Docker
pnpm docker:build

# Isso irá:
# - Buildar imagem do frontend (React + Nginx)
# - Buildar imagem do backend (Fastify + Node)
# - Baixar imagens do PostgreSQL e Redis

⏱️ Tempo estimado: 3-5 minutos na primeira vez

3️⃣ Iniciar Serviços

# Iniciar todos os containers
pnpm docker:up

# Ver logs em tempo real (opcional)
pnpm docker:logs

⏱️ Tempo de inicialização: 30-60 segundos

✅ Verificar se está Funcionando

Frontend

Abra o navegador em: http://localhost

Você deve ver a página inicial do DigiVerse com:

  • Lista de Digimons
  • Filtros compactos
  • Busca funcionando

Backend API

Abra: http://localhost:3000

Você deve ver:

{
  "message": "🦖 DigiVerse API is running!"
}

Swagger Documentation

Abra: http://localhost:3000/docs

Você verá a documentação interativa da API.

🎮 Testando a Aplicação

1. Navegação

2. Testar Filtros

  1. Acesse a home page
  2. Clique nos filtros (Nível, Tipo, Atributo)
  3. Observe a lista sendo filtrada em tempo real

3. Testar Busca

  1. Digite no campo de busca: "Agumon"
  2. Veja os resultados filtrando instantaneamente

4. Testar Detalhes

  1. Clique em qualquer card de Digimon
  2. Veja a página de detalhes com evoluções

🛑 Parar Serviços

# Parar todos os containers (preserva dados)
pnpm docker:down

# Parar e remover volumes (⚠️ apaga dados do banco)
pnpm docker:clean

🔄 Atualizar após Mudanças no Código

# Rebuild e reiniciar
pnpm docker:rebuild

# Ou manualmente:
pnpm docker:down
pnpm docker:build
pnpm docker:up

🐛 Troubleshooting Rápido

Frontend mostra página em branco

# Ver logs do frontend
docker logs digiverse_web

# Reconstruir frontend
pnpm docker:web:build
docker-compose up -d web --force-recreate

Backend retorna erro 500

# Ver logs do backend
docker logs digiverse_backend

# Verificar se banco está rodando
docker ps | grep postgres

# Reiniciar backend
docker restart digiverse_backend

Porta já em uso (80 ou 3000)

# Descobrir processo usando a porta
sudo lsof -i :80
sudo lsof -i :3000

# Matar processo (exemplo)
kill -9 [PID]

# Ou alterar portas no .env:
echo "WEB_PORT=8080" >> .env
echo "PORT=3001" >> .env

# Reiniciar
pnpm docker:rebuild

Containers não iniciam

# Verificar status
docker ps -a

# Ver logs de todos os serviços
docker-compose logs

# Limpar tudo e recomeçar
pnpm docker:clean
pnpm docker:build
pnpm docker:up

📊 Comandos Úteis

# Ver containers rodando
docker ps

# Ver logs de um serviço específico
docker logs digiverse_web
docker logs digiverse_backend
docker logs digiverse_postgres
docker logs digiverse_redis

# Entrar em um container
docker exec -it digiverse_backend sh
docker exec -it digiverse_web sh

# Ver uso de recursos
docker stats

# Inspecionar health check
docker inspect digiverse_web | grep Health -A 10

🎯 Próximos Passos

Agora que seu ambiente está rodando:

  1. Explore a API: http://localhost:3000/docs
  2. Leia a documentação completa: DOCKER_DEPLOY.md
  3. Configure para produção: Seção de Produção
  4. Contribua: CONTRIBUTING.md

💡 Dicas

  • Use pnpm docker:logs para monitorar todos os serviços
  • Frontend e backend são independentes - você pode parar um e o outro continua funcionando
  • Dados do PostgreSQL são persistidos - seus Digimons não somem ao reiniciar
  • Health checks garantem que serviços estão saudáveis antes de aceitar tráfego

📞 Ajuda

Problemas?


🐳 Feliz Dockerização!