Stack d'orchestration Figures Libres (Docker Compose)
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>
This commit is contained in:
46
CLAUDE.md
Normal file
46
CLAUDE.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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`).
|
||||
|
||||
```bash
|
||||
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 dans `generator/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/`
|
||||
ni `grav-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`.
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d generator
|
||||
```
|
||||
Reference in New Issue
Block a user