50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
services:
|
|
dashboard:
|
|
build:
|
|
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=${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}
|
|
- 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:
|
|
- /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.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"
|
|
- "traefik.http.services.manus-dashboard-svc.loadbalancer.server.port=3001"
|
|
- "traefik.docker.network=web"
|
|
|
|
networks:
|
|
web:
|
|
external: true
|