version: '3.8' services: veille-reglementaire: build: context: . dockerfile: Dockerfile image: veille-reglementaire-app container_name: veille-reglementaire restart: unless-stopped env_file: - .env networks: - web - veille-internal labels: # HTTP → HTTPS redirect - "traefik.enable=true" - "traefik.http.routers.veille.rule=Host(`veille.santinova-soft.org`)" - "traefik.http.routers.veille.entrypoints=web" - "traefik.http.routers.veille.middlewares=redirect-to-https" # HTTPS - "traefik.http.routers.veille-secure.rule=Host(`veille.santinova-soft.org`)" - "traefik.http.routers.veille-secure.entrypoints=websecure" - "traefik.http.routers.veille-secure.tls=true" - "traefik.http.routers.veille-secure.tls.certresolver=letsencrypt" - "traefik.http.routers.veille-secure.service=veille-svc" # Service - "traefik.http.services.veille-svc.loadbalancer.server.port=3000" - "traefik.docker.network=web" veille-db: image: mysql:8.0 container_name: veille-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=VeilleRootDB2026! - MYSQL_DATABASE=veille_reglementaire - MYSQL_USER=veille_user - MYSQL_PASSWORD=VeilleDB2026Secure! volumes: - veille-db-data:/var/lib/mysql networks: - veille-internal healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-pVeilleRootDB2026!"] interval: 10s timeout: 5s retries: 5 start_period: 30s volumes: veille-db-data: networks: web: external: true veille-internal: driver: bridge