Câble ensemble le générateur (dépôt generator/) et le CMS Grav d'exemple (dépôt grav-reference/, monté :ro), tous deux clonés côte à côte et non versionnés ici. Contient : docker-compose dev + surcouche prod (rsync/SSH), image Grav (docker/grav), doc de câblage. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
CLAUDE.md — stack Figures Libres (orchestration)
Dépôt d'orchestration de l'environnement du générateur de portfolios. Il ne contient pas de code applicatif : il câble ensemble trois checkouts posés côte à côte, via Docker Compose.
portfolio-maker/ ← CE dépôt (stack)
├── docker-compose.yml # grav-reference (8089) + generator (8091)
├── docker-compose.prod.yml # surcouche déploiement (build Nitro + rsync prod)
├── docker/grav/Dockerfile # image PHP+Apache servant grav-reference/
├── generator/ ← dépôt À PART (l'app) — cloné ici, git-ignoré
└── grav-reference/ ← dépôt À PART (CMS d'exemple) — cloné ici, git-ignoré
Règle absolue : tout tourne dans Docker
Node, build Nuxt, Playwright/Chromium, Ghostscript, ffmpeg, rsync — rien sur
l'hôte. Exception connue : vérifier le rendu d'un PDF (pdftoppm) peut se faire
sur l'hôte, les templates print étant piégeux (voir generator/CLAUDE.md).
docker compose up -d # grav-reference + generator
- Générateur : http://localhost:8091 — mot de passe dev
figureslibres. - Grav de référence : http://localhost:8089 (CMS d'exemple, pas l'app à développer).
Les trois composants
generator/— l'app Nuxt = le livrable. Dépôt autonome (Dockerfile inclus), poussé sur le gitea figureslibres.io. Toute la doc app est dansgenerator/CLAUDE.md.grav-reference/— le vrai site Grav, son propre dépôt (~4,8 Go), monté:ro. Source de contenu en lecture seule, jamais modifié.- Ce dépôt — compose, image Grav, doc de câblage. Ne versionne ni
generator/nigrav-reference/(ils ont chacun leur dépôt).
Déploiement (mode prod)
Contenu tiré de la prod par rsync/SSH en lecture seule vers
generator/data/content-cache/, déclenché par le bouton « Rafraîchir ». Voir les
variables .env (non versionné) documentées dans docker-compose.prod.yml.
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d generator