services: dashboard: build: context: . dockerfile: Dockerfile container_name: manus-dashboard restart: unless-stopped environment: - NODE_ENV=production - PORT=3001 - JWT_SECRET=manus-dashboard-jwt-secret-2026-recette - ADMIN_USERNAME=adminItinova - ADMIN_PASSWORD=Itinova69! - GITEA_URL=https://git.recette.santinova-soft.org - GITEA_USERNAME=manus-admin - GITEA_PASSWORD=ManusGitea2026! - GITEA_TOKEN=1e0b01c361a91d5512e13c78053ac82a66e19427 - GITEA_RECETTE_URL=http://gitea:3000 - GITEA_PASSWORD_PROD=ManusGitea2026! - APPS_BASE_PATH=/opt/manus-deploy/apps - INFRA_BASE_PATH=/opt/manus-deploy/infrastructure - HEALTH_CHECK_INTERVAL=30000 volumes: - /var/run/docker.sock:/var/run/docker.sock - /opt/manus-deploy:/opt/manus-deploy extra_hosts: - "git.santinova-soft.org:180.149.196.138" networks: - web labels: - "traefik.enable=true" # Route HTTPS via dashboard.recette.santinova-soft.org - "traefik.http.routers.manus-dashboard.rule=Host(`dashboard.recette.santinova-soft.org`)" - "traefik.http.routers.manus-dashboard.entrypoints=websecure" - "traefik.http.routers.manus-dashboard.tls=true" - "traefik.http.routers.manus-dashboard.tls.certresolver=letsencrypt" - "traefik.http.routers.manus-dashboard.service=manus-dashboard-svc" - "traefik.http.routers.manus-dashboard.priority=100" # Service - "traefik.http.services.manus-dashboard-svc.loadbalancer.server.port=3001" - "traefik.docker.network=web" networks: web: external: true