Este guia explica como executar toda a aplicação IBDFAM RAG usando Docker Compose.
- Docker e Docker Compose instalados
- Chave da API OpenAI
- Chaves de API do Typesense e Qdrant (se aplicável)
Copie o arquivo de exemplo e configure suas variáveis:
cp .env.example .envEdite o arquivo .env com suas chaves de API:
# Configurações do Typesense
TYPESENSE_API_KEY=sua_chave_typesense_aqui
# Configurações do Qdrant (opcional se usando serviço local)
QDRANT_API_KEY=sua_chave_qdrant_aqui
# Configurações da OpenAI (OBRIGATÓRIO)
OPENAI_API_KEY=sua_chave_openai_aqui# Iniciar todos os serviços
docker-compose up -d
# Ver logs
docker-compose logs -f
# Parar todos os serviços
docker-compose down- Porta: 3000
- URL: http://localhost:3000
- Interface principal da aplicação
- Porta HTTP: 6333
- Porta gRPC: 6334
- URL: http://localhost:6333
- Banco de dados vetorial para busca semântica
- Porta: 8108
- URL: http://localhost:8108
- Motor de busca para filtros e listagens
- Serviço para sincronização de dados
- Executado sob demanda com profile
sync
# Executar serviço de sincronização
docker-compose --profile sync up sync
# Testar conexões
docker-compose --profile sync run sync npm run test:connections:js
# Sincronizar dados do Typesense para Qdrant
docker-compose --profile sync run sync npm run sync:js# Ver status dos serviços
docker-compose ps
# Ver logs de um serviço específico
docker-compose logs -f app
docker-compose logs -f qdrant
docker-compose logs -f typesense
# Executar comandos dentro dos containers
docker-compose exec app sh
docker-compose exec qdrant sh# Parar e remover containers
docker-compose down
# Remover volumes (CUIDADO: apaga dados)
docker-compose down -v
# Rebuild das imagens
docker-compose build --no-cache# Build apenas da aplicação
docker-compose build app
# Build de todos os serviços
docker-compose build- Qdrant:
./qdrant_storage:/qdrant/storage - Typesense:
typesense-data:/data
-
Porta já em uso:
# Verificar processos usando as portas lsof -i :3000 lsof -i :6333 lsof -i :8108 -
Problemas de permissão:
# Ajustar permissões do diretório qdrant_storage sudo chown -R $USER:$USER ./qdrant_storage
-
Variáveis de ambiente não carregadas:
- Verifique se o arquivo
.envestá na raiz do projeto - Confirme que não há espaços extras nas variáveis
- Verifique se o arquivo
-
Serviços não inicializam:
# Ver logs detalhados docker-compose logs --tail=50 -f # Reiniciar serviços específicos docker-compose restart qdrant docker-compose restart typesense
# Logs de todos os serviços
docker-compose logs -f
# Logs com timestamp
docker-compose logs -f -t
# Últimas 100 linhas de log
docker-compose logs --tail=100- Nunca commite o arquivo
.envcom chaves reais - Use chaves de API específicas para desenvolvimento
- Configure firewalls adequadamente em produção
- RAM: Mínimo 4GB, recomendado 8GB+
- CPU: 2+ cores
- Disco: SSD recomendado para melhor performance do Qdrant
# Limitar recursos do Docker (opcional)
docker-compose up -d --scale app=1 --memory=2gPara problemas específicos:
- Verifique os logs:
docker-compose logs -f - Confirme as variáveis de ambiente
- Teste conexões individuais dos serviços
- Consulte a documentação oficial do Docker Compose