services: monitorink: build: ./backend image: monitorink:latest container_name: monitorink restart: unless-stopped env_file: .env # Port HTTP direct sur le LAN pour la Kobo (busybox wget, sans Caddy/TLS). ports: - "8899:8080" volumes: # Login Claude ISOLÉ dédié à Monitorink (lecture/écriture pour le refresh du token). # Créé via: CLAUDE_CONFIG_DIR=/home/jerem/.monitorink-claude claude auth login - /home/jerem/.monitorink-claude:/creds:rw # Token openai-codex maintenu frais par Hermes (lecture seule) -> usage Codex. - /home/jerem/.hermes/auth.json:/hermes-auth.json:ro # Optionnel : burn rate via ccusage (lecture seule des logs Claude Code principaux). # Décommenter + MONITORINK_CCUSAGE=1. # - /home/jerem/.claude/projects:/root/.claude/projects:ro networks: - nestorr labels: caddy: http://monitorink.homelab.nestor-server.fr caddy.reverse_proxy: "{{upstreams 8080}}" healthcheck: test: ["CMD", "python", "-c", "import urllib.request,sys; sys.exit(0) if urllib.request.urlopen('http://localhost:8080/health').status==200 else sys.exit(1)"] interval: 60s timeout: 10s retries: 3 networks: nestorr: external: true