managerr/docker-compose.yml
2025-07-25 17:21:17 +02:00

79 lines
1.8 KiB
YAML

services:
# Service MongoDB sans healthcheck personnalisé
mongodb:
image: mongo:latest
container_name: managerr-mongodb
restart: unless-stopped
volumes:
- mongodb-data:/data/db
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=rootpassword
- MONGO_INITDB_DATABASE=managerr
ports:
- "27017:27017"
networks:
- managerr-network
# Healthcheck simple intégré (utilisera les commandes disponibles dans l'image)
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh mongodb://localhost:27017/test --quiet || exit 1
interval: 10s
timeout: 10s
retries: 5
start_period: 30s
# Service Backend avec script d'attente
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: managerr-backend
restart: unless-stopped
depends_on:
- mongodb
environment:
- NODE_ENV=development
- PORT=5000
- MONGODB_URI=mongodb://root:rootpassword@mongodb:27017/managerr?authSource=admin
- JWT_SECRET=secret_jwt_pour_managerr
- PUID=1000
- PGID=1000
ports:
- "5000:5000"
volumes:
- ./backend:/app
- /app/node_modules
networks:
- managerr-network
# Service Frontend
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: managerr-frontend
restart: unless-stopped
depends_on:
- backend
environment:
- NODE_ENV=development
- VUE_APP_API_URL=http://localhost:5000/api
- PUID=1000
- PGID=1000
ports:
- "8012:8012"
volumes:
- ./frontend:/app
- /app/node_modules
networks:
- managerr-network
# Volumes
volumes:
mongodb-data:
driver: local
# Networks
networks:
managerr-network:
driver: bridge