Doc déploiement : sync storage_state seul + purge token.json distant + règle 'un seul propriétaire du refresh_token'
Le refresh_token est rotatif : Mac et homelab ne doivent pas le partager (sinon invalid_grant). Procédure durcie + bootstrap/vérif de la chaîne.
This commit is contained in:
21
README.md
21
README.md
@@ -89,17 +89,28 @@ python server.py # auth via storage_state, refresh token automatique
|
|||||||
# 2. Pousser le code
|
# 2. Pousser le code
|
||||||
git add -A && git commit -m "..." && git push
|
git add -A && git commit -m "..." && git push
|
||||||
|
|
||||||
# 3. Synchroniser la session vers le homelab (NON versionnée ; endpoints.json est dans git)
|
# 3. Synchroniser la session : storage_state.json SEUL (cookie = refresh_token vierge).
|
||||||
# storage_state.json suffit (le homelab tourne headless et rafraîchit le token tout seul).
|
# NE PAS copier token.json (son refresh_token a pu être consommé localement → invalide).
|
||||||
scp .session/storage_state.json jerem@192.168.0.43:<path>/AntiCoco/.session/
|
scp .session/storage_state.json homelab:/home/jerem/AntiCoco/.session/
|
||||||
|
|
||||||
# 4. Sur le homelab : déployer
|
# 4. Sur le homelab : supprimer l'ancien token.json (root, écrit par le conteneur) pour que
|
||||||
|
# la chaîne reparte du cookie frais, puis déployer.
|
||||||
ssh homelab
|
ssh homelab
|
||||||
cd <path>/AntiCoco && git pull && docker compose up -d --build
|
cd /home/jerem/AntiCoco
|
||||||
|
docker exec anticoco rm -f /app/.session/token.json # sinon un vieux RT mort persiste
|
||||||
|
git pull && docker compose up -d --build
|
||||||
|
# bootstrap + vérif de la chaîne (doit afficher True puis logged_in: true) :
|
||||||
|
docker exec anticoco python -c "from hellofresh import auth; print('refresh', bool(auth._refresh_session())); print(auth.auth_status())"
|
||||||
```
|
```
|
||||||
|
|
||||||
Vérifier : `curl -s http://127.0.0.1:9200/mcp` (le serveur répond au handshake MCP).
|
Vérifier : `curl -s http://127.0.0.1:9200/mcp` (le serveur répond au handshake MCP).
|
||||||
|
|
||||||
|
> ⚠️ **Un seul propriétaire du refresh_token.** Le refresh_token est **rotatif** (chaque
|
||||||
|
> `/gw/refresh` invalide le précédent). Le Mac sert UNIQUEMENT à capturer la session ; une fois
|
||||||
|
> `storage_state.json` synchronisé, **ne lance plus `server.py` ni d'appel API depuis le Mac** —
|
||||||
|
> sinon Mac et homelab se disputent le token et la chaîne casse (`invalid_grant`). Le homelab,
|
||||||
|
> seul consommateur, reste authentifié tant qu'il tourne. En cas de casse : refaire §2 + §3-4.
|
||||||
|
|
||||||
## Intégration Hermes
|
## Intégration Hermes
|
||||||
|
|
||||||
Enregistrer AntiCoco dans la config MCP de Hermes (côté homelab), URL
|
Enregistrer AntiCoco dans la config MCP de Hermes (côté homelab), URL
|
||||||
|
|||||||
Reference in New Issue
Block a user