Files
manus-dashboard/docker-compose.yml

62 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
restart: always
mem_limit: 512m
env_file:
- .env
environment:
- NODE_ENV=${NODE_ENV:-production}
- DASHBOARD_ENV=${DASHBOARD_ENV:-recette}
- 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
# Contrôles bornés et dédoublonnés par healthcheck.js.
- 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.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