services:
  dashboard:
    build:
      context: ./src
      dockerfile: Dockerfile
    container_name: manus-dashboard
    restart: unless-stopped
    environment:
      NODE_ENV: production
      PORT: 3001
      JWT_SECRET: manus-dashboard-prod-secret-2026
      ADMIN_USERNAME: adminItinova
      ADMIN_PASSWORD: Itinova69!
      GITEA_URL: https://git.santinova-soft.org
      GITEA_USERNAME: manus-admin
      GITEA_PASSWORD: ManusGitea2026!
      APPS_BASE_PATH: /opt/manus-deploy/apps
      INFRA_BASE_PATH: /opt/manus-deploy/infrastructure
      WEBHOOK_SECRET: webhook-prod-secret-2026
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/manus-deploy/apps:/opt/manus-deploy/apps
      - /opt/manus-deploy/infrastructure:/opt/manus-deploy/infrastructure
      - /opt/manus-deploy/logs:/opt/manus-deploy/logs
      # Montage /proc du VPS pour CPU (namespace partagé avec le VPS)
      - /proc:/host/proc:ro
      # Montage cgroup du VPS pour RAM réelle (memory.max, memory.current)
      - /sys/fs/cgroup:/host/cgroup:ro
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.dashboard.rule=Host(`dashboard.santinova-soft.org`)"
      - "traefik.http.routers.dashboard.entrypoints=websecure"
      - "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
      - "traefik.http.services.dashboard.loadbalancer.server.port=3001"
networks:
  web:
    external: true
