From b1229e3dcced21224342d7ab06302df36f6ac1b9 Mon Sep 17 00:00:00 2001 From: jerem Date: Tue, 16 Jun 2026 16:35:49 +0200 Subject: [PATCH] Codex: monte le dossier ~/.hermes (pas le fichier) pour suivre le rename du token MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le bind-mount d'un fichier unique reste accroché à l'inode capturé au démarrage ; Hermes réécrit auth.json par rename atomique -> le conteneur servait un token périmé (401), la section Codex disparaissait au refresh. --- .env.example | 2 +- backend/config.py | 2 +- docker-compose.yml | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 3e772f7..feef5a6 100644 --- a/.env.example +++ b/.env.example @@ -35,7 +35,7 @@ MONITORINK_NAS_URL=http://192.168.0.43:8766/api/status # Codex (optionnel) — usage ChatGPT/Codex via wham/usage. Token lu dans le auth.json de # Hermes monté en lecture seule (cf. docker-compose.yml). Laisser vide pour masquer Codex. -MONITORINK_CODEX_TOKEN_FILE=/hermes-auth.json +MONITORINK_CODEX_TOKEN_FILE=/hermes/auth.json # Home Assistant (optionnel) — laisser vide pour désactiver MONITORINK_HA_URL=http://homeassistant.local:8123 diff --git a/backend/config.py b/backend/config.py index 44183ad..db78d53 100644 --- a/backend/config.py +++ b/backend/config.py @@ -81,7 +81,7 @@ class Config: # Fichier auth.json de Hermes monté en lecture seule : Hermes y maintient un token # openai-codex frais. Monitorink le relit à chaque rendu (aucun refresh côté Monitorink). codex_token_file: str = field( - default_factory=lambda: _get("MONITORINK_CODEX_TOKEN_FILE", "/hermes-auth.json") + default_factory=lambda: _get("MONITORINK_CODEX_TOKEN_FILE", "/hermes/auth.json") ) # --- Cache / rafraîchissement serveur --- diff --git a/docker-compose.yml b/docker-compose.yml index a993333..8d51a2b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,11 @@ services: # 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 + # On monte le DOSSIER (pas le fichier) : Hermes réécrit auth.json par rename() + # atomique (nouvel inode), or un bind-mount de fichier unique reste accroché à + # l'inode capturé au démarrage -> le conteneur servirait un token périmé (401). + # Monter le dossier fait re-résoudre /hermes/auth.json à chaque open(). + - /home/jerem/.hermes:/hermes: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