Skip to content

This is the lummyedu docker repository where you configure the entire application startup part.

License

Notifications You must be signed in to change notification settings

IKauedev/lummyedu-docker-dev

Repository files navigation

🐳 Lummy Docker Environment

📋 Arquitetura

Este docker-compose orquestra todo o ecossistema Lummy:

🗄️ Bancos de Dados

  • mysqldb-backend (porta 3306) - MySQL para Lummy Backend
  • mysqldb-ia (porta 3307) - MySQL para Lummy IA

🚀 Aplicações

  • lummy-backend (porta 8080) - Spring Boot Backend Principal
  • lummy-ia (porta 8000) - FastAPI IA Service

📊 Monitoramento

  • prometheus (porta 9090) - Coleta de métricas
  • grafana (porta 3000) - Visualização de dashboards

🌐 Rede

Todos os serviços estão conectados na mesma rede lummy-network, permitindo comunicação entre eles usando os nomes dos containers.

🎯 Comandos Principais

Iniciar todos os serviços

docker-compose up -d

Iniciar com rebuild (quando houver alterações no código)

docker-compose up -d --build

Ver logs de todos os serviços

docker-compose logs -f

Ver logs de um serviço específico

docker-compose logs -f lummy-backend
docker-compose logs -f lummy-ia

Parar todos os serviços

docker-compose down

Parar e remover volumes (⚠️ APAGA OS DADOS!)

docker-compose down -v

Rebuild de um serviço específico

docker-compose up -d --build lummy-backend
docker-compose up -d --build lummy-ia

Verificar status dos serviços

docker-compose ps

Acessar shell de um container

docker exec -it lummy-backend bash
docker exec -it lummy-ia bash

🧰 Scripts de Automação

Scripts 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)

🔗 URLs de Acesso

Aplicações

Monitoramento

Bancos de Dados

  • MySQL Backend: localhost:3306
  • MySQL IA: localhost:3307

🔧 Configurações de Ambiente

Variáveis de Ambiente

As variáveis de ambiente são definidas:

  • No próprio docker-compose.yml
  • No arquivo .env.development (para lummy-ia)

Comunicação entre Serviços

Os serviços podem se comunicar usando os nomes dos containers:

  • http://lummy-backend:8080
  • http://lummy-ia:8000

🐛 Debug

Debug Remoto

  • Lummy Backend: Porta 5005 (Java Debug)
  • Lummy IA: Porta 5678 (Python debugpy)

Configurar Debug no VS Code

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"
        }
      ]
    }
  ]
}

📦 Volumes Persistentes

Os dados dos bancos de dados são persistidos em volumes Docker:

  • lummy-mysql-backend-data
  • lummy-mysql-ia-data
  • lummy-grafana-data

Limpar volumes (⚠️ APAGA TODOS OS DADOS!)

docker-compose down -v
docker volume prune

🔍 Troubleshooting

Container não inicia

# Ver logs detalhados
docker-compose logs lummy-backend

# Verificar saúde dos containers
docker-compose ps

Problemas de conexão com banco

# 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;"

Rebuild completo (limpa tudo e reconstrói)

docker-compose down -v
docker-compose build --no-cache
docker-compose up -d

Verificar conectividade de rede

# De dentro do container lummy-ia, testar conexão com backend
docker exec -it lummy-ia curl http://lummy-backend:8080

📝 Notas Importantes

  1. Ordem de inicialização: O docker-compose gerencia automaticamente a ordem através de depends_on e healthcheck

  2. Hot Reload: Os volumes mapeiam o código local para dentro dos containers, permitindo desenvolvimento com hot reload

  3. Porta 3306: A porta padrão do MySQL (3306) está mapeada para o backend. As outras usam 3307 e 3308

  4. 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

🚀 Quick Start

# 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

📚 Recursos Adicionais

About

This is the lummyedu docker repository where you configure the entire application startup part.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published