nas-runbooks/common/correctifs-fragilites-appli...

3.2 KiB

Correctifs fragilites stack — application (04/07/2026)

Suite de l'analyse fragilites-dependances-stack-20260703. Correctifs appliques et verifies.

1. rla-api : couplage mort ELUCIDE puis assaini (le "bug" n'existait plus)

Diagnostic initial : env GOTENBERG_URL=3001 (=pihole, 403) + PPTX_API_URL=8015 (mort). Verification par le CODE REEL (repo bolbol/Gestion-des-Marches-RLA, services/export-*.js) : depuis le refactor d'avril 2026, rla-api genere 100% en local via pdfkit / exceljs / pptxgenjs / docx (package.json). Les variables GOTENBERG/PPTX etaient des orphelines mortes jamais lues — aucun appel dans le code. Les 4 exports fonctionnent (teste : PDF 4.2Ko, XLSX 18Ko, PPTX 806Ko, DOCX 25Ko, HTTP 200). L'export XLSX/PPTX/DOCX exige role=superadmin (403 sinon) — ce n'est pas un bug, c'est le middleware roles.js. Action : container standalone (sans compose, sur bridge, sans healthcheck) -> cree un compose declaratif (/volume1/docker/rla-api/) : reseau n8n, env_file .env (orphelines purgees), healthcheck node http, restart unless-stopped. Recreate OK. Pousse sur bolbol/Gestion-des-Marches-RLA (docker-compose.yml). Piege : .env doit etre chown 1026:100 sinon "permission denied" au compose up.

2. n8n + n8n-DB : restart on-failure -> unless-stopped

on-failure ne remonte PAS apres arret systeme. Corrige a chaud (docker update, zero coupure) + compose /volume1/docker/n8n/docker-compose.yml (3 services dont docx-generator inactif). Backup conserve. NB : le stack est aussi reference cote Portainer (stack 254) -> re-sauver via l'UI Portainer pour coherence totale. Dossier n8n non versionne (pas de repo git).

3. Trilium + reglement-definitif-api : restart no -> unless-stopped

docker update a chaud. reglement-definitif : le compose disait deja unless-stopped (le container tournait en 'no' = DESYNC compose/runtime, resolue). Trilium : pas de compose sur disque (image publique triliumnext/trilium:latest, pas de risque image locale).

4. bifrost-proxy : ajout healthcheck

openresty sans healthcheck = figeage indetectable (maillon auth+cap devant Bifrost). Ajoute : wget /v1/models (endpoint servi localement, independant de l'upstream Bifrost). Healthy confirme. Compose + backup, pousse sur bolbol/bifrost-proxy. Piege : "dubious ownership" git -> git config --global --add safe.directory .

5. Images locales : risque prune DEJA COUVERT

7 images locales (rla-api, reglement-definitif, dashboard-terrain, nyora-doc-api, context-hub, gsparc-mezzouna, family-help, veille-backend). Verification : TOUTES ont leur source + Dockerfile sur Gitea (racine ou backend/). Rebuild possible. panda-dashboard=nginx:alpine et Trilium=triliumnext = images publiques (hors risque). RESTE la regle : jamais docker image prune -a, seulement dangling.

Etat final verifie

rla-api healthy | n8n healthy | n8n-DB running | Trilium healthy | reglement-definitif running | bifrost-proxy healthy. Tous unless-stopped.

Reste (non bloquant)

Healthchecks a ajouter progressivement : family-help, redaction-pro, context-hub, veille-backend/frontend, hermes-mail-proxy, dashboard-terrain, reglement-definitif-api, n8n-DB. reglement-definitif-api : 0 env = config bakee dans l'image, a auditer (opaque).