nas-runbooks/common/nyora-doc-api-rebuild.md

2.1 KiB

nyora-doc-api — Procédure de rebuild & déploiement

Date : 2026-07-09 (généralise nyora-doc-api-rebuild-footer-docx.md 04/07 ; historique footer clos) Tags : infra, nyora-doc-api, docker, rebuild

Règle de base

/app est cuit dans l'image Docker, pas bind-monté → toute modification de code dans /mnt/docker/nyora-doc-api/app/ exige un rebuild + recreate. Un simple restart ne recharge rien.

Procédure validée (depuis mcp-nas ou Mac)

  1. Docker indisponible dans mcp-nas (socket retiré, audit 08/07) → passer par le Mac : ssh -p 22222 Best0f@192.168.100.33. Sur le host : docker = /usr/local/bin/docker, sans sudo (Best0f dans le groupe docker ; sudo échoue, pas de TTY).
  2. Build : cd /volume1/docker/nyora-doc-api && /usr/local/bin/docker compose build (~2 min, pip timeout 180 déjà dans le Dockerfile).
  3. Déploiement : docker stop nyora-doc-api && docker rm nyora-doc-api && docker compose up -djamais un simple restart, l'image ne serait pas rechargée. Alternative sans SSH : nohup côté host (cf. session 08/07).
  4. Health : curl http://172.17.0.1:3050/health → 200.
  5. Vérifier code container == disque == Gitea : docker exec nyora-doc-api cat /app/services.py | diff - /volume1/docker/nyora-doc-api/app/services.py.

Test /v1/generate — pièges

  • Endpoint multipart/form-data, pas JSON : curl -F "format=docx" -F "data=</tmp/data.json" + header X-API-Key (clé dans hermes-platform/.env). Un POST -d JSON → 422 "body.format missing".
  • Payload avec apostrophes françaises : toujours dans un fichier, jamais inline.

Historique (clos)

  • 03-04/07 : footer Nyora ajouté aux DOCX (n'avait jamais existé) puis déployé.
  • 08/07 (commits a7380268 + f7353419) : footers retirés de TOUS les formats (DOCX/PPTX/PDF/XLSX) sur décision Nabil, et option restyle=full implémentée pour le mode template (voir common/nyora-doc-api-template-restyle-cause-racine.md). Les vérifications XML de footer des anciennes versions ne s'appliquent plus.

Guide d'usage API : common/nyora-doc-api-hermes-guide.md.