services: db: image: mysql:8.4 restart: unless-stopped environment: MYSQL_DATABASE: ${MYSQL_DATABASE:?MYSQL_DATABASE manquant} MYSQL_USER: ${MYSQL_USER:?MYSQL_USER manquant} MYSQL_PASSWORD: ${MYSQL_PASSWORD:?MYSQL_PASSWORD manquant} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?MYSQL_ROOT_PASSWORD manquant} volumes: - db_data:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 --silent || exit 1"] interval: 5s timeout: 5s retries: 30 networks: [app] backend: build: ./backend restart: unless-stopped env_file: .env ports: - "${BACKEND_PORT:-1029}:8000" depends_on: db: condition: service_healthy networks: [app] frontend: build: ./frontend restart: unless-stopped ports: - "${FRONTEND_PORT:-1028}:80" depends_on: [backend] networks: [app] volumes: db_data: networks: app: