79 lines
1.8 KiB
YAML
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
|