27 lines
3.2 KiB
Markdown
27 lines
3.2 KiB
Markdown
# 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 <path>.
|
|
|
|
## 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).
|