fix: rétablir le dashboard production et ses moteurs IA
All checks were successful
Validation Dashboard / Tests backend et build frontend (push) Successful in 1m7s

This commit is contained in:
Santinova Deploy
2026-09-05 14:21:53 +00:00
parent 1c9a9eff8f
commit 692762674b
18 changed files with 229 additions and 56 deletions

View File

@@ -1,58 +1,47 @@
services:
dashboard:
build:
# Les sources actives sont versionnées sous src/. Le contexte racine
# pouvait réutiliser d’anciens dossiers backend/frontend restés sur l’hôte.
context: ./src
dockerfile: Dockerfile
container_name: manus-dashboard
# Le dashboard doit repartir seul après un arrêt anormal du processus.
# 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=${NODE_ENV:-production}
- DASHBOARD_ENV=${DASHBOARD_ENV:-recette}
- DASHBOARD_ENV=prod
- PORT=${PORT:-3001}
- JWT_SECRET=${JWT_SECRET:?JWT_SECRET requis dans le fichier .env serveur}
- ADMIN_USERNAME=${ADMIN_USERNAME:?ADMIN_USERNAME requis dans le fichier .env serveur}
- ADMIN_PASSWORD=${ADMIN_PASSWORD:?ADMIN_PASSWORD requis dans le fichier .env serveur}
- GITEA_URL=${GITEA_URL:?GITEA_URL requis dans le fichier .env serveur}
- GITEA_USERNAME=${GITEA_USERNAME:-manus-admin}
- GITEA_TOKEN=${GITEA_TOKEN:?GITEA_TOKEN requis dans le fichier .env serveur}
- GITEA_RECETTE_URL=${GITEA_RECETTE_URL:-http://gitea:3000}
- GITEA_RECETTE_PUBLIC_URL=${GITEA_RECETTE_PUBLIC_URL:-https://git.recette.santinova-soft.org}
- GITEA_RECETTE_TOKEN=${GITEA_RECETTE_TOKEN:-}
- GITEA_PROD_URL=${GITEA_PROD_URL:-https://git.santinova-soft.org}
- GITEA_TOKEN_PROD=${GITEA_TOKEN_PROD:-}
- WEBHOOK_SECRET=${WEBHOOK_SECRET:?WEBHOOK_SECRET requis dans le fichier .env serveur}
- IA_REFERENTIEL_URL=${IA_REFERENTIEL_URL:-https://referentiel-ia.recette.santinova-soft.org}
- IA_REFERENTIEL_TOKEN=${IA_REFERENTIEL_TOKEN:-}
- DSI_ALERT_EMAIL=${DSI_ALERT_EMAIL:-}
- CI_ALERT_EMAIL_QUEUE=/opt/manus-deploy/secrets/ci-alerts/outbox
- APPS_BASE_PATH=/opt/manus-deploy/apps
- INFRA_BASE_PATH=/opt/manus-deploy/infrastructure
- JWT_SECRET=${JWT_SECRET}
- ADMIN_USERNAME=${ADMIN_USERNAME}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- GITEA_URL=${GITEA_URL}
- GITEA_USERNAME=${GITEA_USERNAME}
- GITEA_PASSWORD=${GITEA_PASSWORD}
- GITEA_TOKEN=${GITEA_TOKEN:?GITEA_TOKEN requis}
- WEBHOOK_SECRET=${WEBHOOK_SECRET:?WEBHOOK_SECRET requis}
- 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=60000
- HEALTH_CHECK_INTERVAL=${HEALTH_CHECK_INTERVAL:-60000}
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"
- "git.recette.santinova-soft.org:78.138.58.109"
networks:
- web
labels:
- "traefik.enable=true"
# Le domaine public est spécifique au serveur, mais le commit reste commun.
- "traefik.http.routers.manus-dashboard.rule=Host(`${DASHBOARD_DOMAIN:?DASHBOARD_DOMAIN requis dans le fichier .env serveur}`)"
- "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"
- "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"