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 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 ports: - "8012:8012" volumes: - ./frontend:/app - /app/node_modules networks: - managerr-network # Volumes volumes: mongodb-data: driver: local # Networks networks: managerr-network: driver: bridge