services: sonum-app: build: context: ./src dockerfile: Dockerfile container_name: sonum restart: unless-stopped environment: - NODE_ENV=production - PORT=3000 - DATABASE_URL=mysql://sonum_user:SonumDB2026Secure!@sonum-db:3306/sonum_db - JWT_SECRET=sonum-jwt-secret-2026-recette - VITE_APP_ID=sonum depends_on: sonum-db: condition: service_healthy networks: - web - sonum-internal labels: - "traefik.enable=true" - "traefik.http.routers.sonum-secure.rule=Host(`sonum.recette.santinova-soft.org`)" - "traefik.http.routers.sonum-secure.entrypoints=websecure" - "traefik.http.routers.sonum-secure.tls=true" - "traefik.http.routers.sonum-secure.tls.certresolver=letsencrypt" - "traefik.http.routers.sonum-secure.service=sonum-svc" - "traefik.http.services.sonum-svc.loadbalancer.server.port=3000" sonum-db: image: mysql:8.0 container_name: sonum-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=SonumRoot2026! - MYSQL_DATABASE=sonum_db - MYSQL_USER=sonum_user - MYSQL_PASSWORD=SonumDB2026Secure! volumes: - sonum-db-data:/var/lib/mysql networks: - sonum-internal healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10 networks: web: external: true sonum-internal: driver: bridge volumes: sonum-db-data: