Audissey Docker Environment
Este diretório contém os arquivos necessários para executar o backend da Audissey em containers Docker.
Pré-requisitos
- Docker
- Docker Compose
Configuração Inicial
Copie o arquivo de ambiente exemplo:
cp .env.example .envConfigure as variáveis de ambiente no arquivo
.env(opcional):- Altere as credenciais da base de dados se necessário
- Ajuste as portas se houver conflitos
- Adicione outras configurações conforme necessário
Como usar
Levantar toda a stack
docker compose up -d
Ver os logs
# Todos os serviços
docker compose logs -f
# Apenas a API
docker compose logs -f api
# Apenas MongoDB
docker compose logs -f mongodb
Parar os serviços
docker compose down
Parar e remover volumes (cuidado - apaga dados!)
docker compose down -v
Rebuild da API (após mudanças de código)
docker compose up --build api
Serviços disponíveis
API
- URL: http://localhost:3000/api
- Health Check: http://localhost:3000/api/health
- Porta configurável através da variável
API_PORT
MongoDB
- Porta: 27017 (configurável através da variável
MONGO_PORT) - Database: audissey
- Credenciais: Definidas nas variáveis de ambiente
Estrutura dos arquivos
docker-compose.yml- Configuração dos serviçosDockerfile- Configuração da imagem da APImongo-init.js- Script de inicialização do MongoDB.env- Variáveis de ambiente (não commitado).env.example- Exemplo das variáveis de ambiente
Conectar à base de dados
String de conexão
mongodb://admin:password123@localhost:27017/audissey?authSource=admin
Usando MongoDB Compass
- Host:
localhost - Port:
27017 - Username:
admin - Password:
password123(ou o que definiste no .env) - Authentication Database:
admin - Database:
audissey
Desenvolvimento
Hot reload (recomendado para desenvolvimento)
Para desenvolvimento local com hot reload, usa:
npm run start:dev api
E apenas levanta a base de dados com Docker:
docker compose up -d mongodb
Debugging
Para debugging, podes expor a porta de debug no docker-compose.yml:
api:
ports:
- '3000:3000'
- '9229:9229' # Debug port
Troubleshooting
Porta em uso
Se a porta 3000 ou 27017 já estiver em uso, altera as variáveis API_PORT e MONGO_PORT no arquivo .env.
Problemas de conectividade
Verifica se os containers estão na mesma rede:
docker network ls
docker network inspect audissey_audissey-network
Reset completo
Para fazer um reset completo do ambiente:
docker compose down -v
docker system prune -a
docker compose up --build