Este docker-compose orquestra todo o ecossistema Lummy:
- mysqldb-backend (porta 3306) - MySQL para Lummy Backend
- mysqldb-ia (porta 3307) - MySQL para Lummy IA
- lummy-backend (porta 8080) - Spring Boot Backend Principal
- lummy-ia (porta 8000) - FastAPI IA Service
- prometheus (porta 9090) - Coleta de métricas
- grafana (porta 3000) - Visualização de dashboards
Todos os serviços estão conectados na mesma rede lummy-network, permitindo comunicação entre eles usando os nomes dos containers.
docker-compose up -ddocker-compose up -d --builddocker-compose logs -fdocker-compose logs -f lummy-backend
docker-compose logs -f lummy-iadocker-compose downdocker-compose down -vdocker-compose up -d --build lummy-backend
docker-compose up -d --build lummy-iadocker-compose psdocker exec -it lummy-backend bash
docker exec -it lummy-ia bashScripts prontos foram organizados na pasta scripts/powershell:
.\scripts\powershell\start-all.ps1— faz build e inicia todo o stack.\scripts\powershell\stop-all.ps1— encerra todos os serviços.\scripts\powershell\status.ps1— exibe containers e health checks.\scripts\powershell\logs.ps1 [serviço]— acompanha logs em tempo real.\scripts\powershell\rebuild.ps1 <serviço>— recria um serviço específico.\scripts\powershell\clean-rebuild.ps1— limpeza completa com rebuild (⚠️ apaga dados)
- Lummy Backend: http://localhost:8080
- Lummy IA API: http://localhost:8000
- Lummy IA Docs: http://localhost:8000/docs
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000 (admin/admin)
- MySQL Backend: localhost:3306
- MySQL IA: localhost:3307
As variáveis de ambiente são definidas:
- No próprio
docker-compose.yml - No arquivo
.env.development(para lummy-ia)
Os serviços podem se comunicar usando os nomes dos containers:
http://lummy-backend:8080http://lummy-ia:8000
- Lummy Backend: Porta 5005 (Java Debug)
- Lummy IA: Porta 5678 (Python debugpy)
Adicione ao .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug Lummy Backend (Docker)",
"request": "attach",
"hostName": "localhost",
"port": 5005
},
{
"type": "java",
"name": "Debug LummyEduBackend (Docker)",
"request": "attach",
"hostName": "localhost",
"port": 5006
},
{
"type": "python",
"name": "Debug Lummy IA (Docker)",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app"
}
]
}
]
}Os dados dos bancos de dados são persistidos em volumes Docker:
lummy-mysql-backend-datalummy-mysql-ia-datalummy-grafana-data
docker-compose down -v
docker volume prune# Ver logs detalhados
docker-compose logs lummy-backend
# Verificar saúde dos containers
docker-compose ps# Verificar se o MySQL está rodando
docker-compose ps mysqldb-backend
# Acessar MySQL diretamente
docker exec -it lummy-mysql-backend mysql -uroot -p1234 -e "SHOW DATABASES;"docker-compose down -v
docker-compose build --no-cache
docker-compose up -d# De dentro do container lummy-ia, testar conexão com backend
docker exec -it lummy-ia curl http://lummy-backend:8080-
Ordem de inicialização: O docker-compose gerencia automaticamente a ordem através de
depends_onehealthcheck -
Hot Reload: Os volumes mapeiam o código local para dentro dos containers, permitindo desenvolvimento com hot reload
-
Porta 3306: A porta padrão do MySQL (3306) está mapeada para o backend. As outras usam 3307 e 3308
-
Ajustar paths: Certifique-se que os paths dos Dockerfiles estão corretos:
- Lummy Backend:
../../docker/Dockerfile - Lummy IA:
../../docker/dev/Dockerfile - LummyEduBackend:
../../lummyeduback-end/Dockerfile
- Lummy Backend:
# 1. Navegue até a pasta docker
cd d:\lummyedu\docker
# 2. Inicie todos os serviços
docker-compose up -d
# 3. Acompanhe os logs
docker-compose logs -f
# 4. Acesse as aplicações
# - Backend: http://localhost:8080
# - IA API: http://localhost:8000/docs
# - Grafana: http://localhost:3000