refactor: fiabiliser le dashboard de production

This commit is contained in:
Manus
2026-08-18 07:38:46 +00:00
parent b4647580fb
commit e07e569559
12 changed files with 431 additions and 412 deletions

View File

@@ -4,33 +4,38 @@ services:
context: ./src
dockerfile: Dockerfile
container_name: manus-dashboard
# Redémarrage automatique après un arrêt anormal ; le processus reste borné.
restart: always
mem_limit: 512m
privileged: true
env_file:
- .env
environment:
- NODE_ENV=production
- PORT=3001
- JWT_SECRET=${DASHBOARD_JWT_SECRET}
- ADMIN_USERNAME=${DASHBOARD_ADMIN_USERNAME}
- ADMIN_PASSWORD=${DASHBOARD_ADMIN_PASSWORD}
- NODE_ENV=${NODE_ENV:-production}
- DASHBOARD_ENV=prod
- PORT=${PORT:-3001}
- JWT_SECRET=${JWT_SECRET}
- ADMIN_USERNAME=${ADMIN_USERNAME}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- GITEA_URL=${GITEA_URL}
- GITEA_USERNAME=${GITEA_USERNAME}
- GITEA_PASSWORD=${GITEA_PASSWORD}
- WEBHOOK_SECRET=${WEBHOOK_SECRET}
- APPS_BASE_PATH=${APPS_BASE_PATH}
- INFRA_BASE_PATH=${INFRA_BASE_PATH}
- HEALTH_CHECK_INTERVAL=${HEALTH_CHECK_INTERVAL}
- GITEA_TOKEN=${GITEA_TOKEN}
- GITEA_RECETTE_URL=${GITEA_RECETTE_URL}
- GITEA_RECETTE_TOKEN=${GITEA_RECETTE_TOKEN}
- GITEA_PASSWORD_PROD=${GITEA_PASSWORD}
- APPS_BASE_PATH=${APPS_BASE_PATH:-/opt/manus-deploy/apps}
- INFRA_BASE_PATH=${INFRA_BASE_PATH:-/opt/manus-deploy/infrastructure}
# Contrôles bornés et dédoublonnés par healthcheck.js.
- HEALTH_CHECK_INTERVAL=${HEALTH_CHECK_INTERVAL:-60000}
volumes:
- /opt/manus-deploy/webhook-patched.js:/app/backend/src/webhook.js:ro
- /var/run/docker.sock:/var/run/docker.sock
- /opt/manus-deploy:/opt/manus-deploy
networks:
- web
labels:
- "traefik.enable=true"
- "traefik.http.routers.manus-dashboard.rule=Host(`dashboard.recette.santinova-soft.org`) || Host(`dashboard.santinova-soft.org`)"
- "traefik.http.routers.manus-dashboard.rule=Host(`dashboard.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"
@@ -38,6 +43,7 @@ services:
- "traefik.http.routers.manus-dashboard.priority=100"
- "traefik.http.services.manus-dashboard-svc.loadbalancer.server.port=3001"
- "traefik.docker.network=web"
networks:
web:
external: true