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>
47 lines
1.7 KiB
YAML
47 lines
1.7 KiB
YAML
services:
|
|
# Instance Grav de référence (site "Figures Libres") servant de source de
|
|
# contenu pour le développement du générateur de portfolios.
|
|
# Ce n'est PAS l'app à développer : c'est le CMS d'exemple, en lecture.
|
|
grav-reference:
|
|
build:
|
|
context: ./docker/grav
|
|
args:
|
|
PUID: "1000"
|
|
PGID: "1000"
|
|
container_name: figureslibres-grav-ref
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8089:80"
|
|
volumes:
|
|
- ./grav-reference:/var/www/html
|
|
|
|
# Générateur de portfolios PDF (app Nuxt) — voir docs/spec-generateur-portfolios.md.
|
|
# Tout tourne dans ce conteneur : Node, build Nuxt, Playwright/Chromium, Ghostscript.
|
|
generator:
|
|
build:
|
|
# L'app est un dépôt autonome cloné dans ./generator (Dockerfile inclus).
|
|
context: ./generator
|
|
image: figureslibres-portfolio-generator
|
|
container_name: figureslibres-portfolio-generator
|
|
restart: unless-stopped
|
|
user: "1000:1000"
|
|
working_dir: /app
|
|
command: npm run dev
|
|
environment:
|
|
HOME: /tmp
|
|
NUXT_SESSION_SECRET: ${SESSION_SECRET:-dev-secret-figures-libres}
|
|
NUXT_PORTFOLIO_PASSWORD: ${PORTFOLIO_PASSWORD:-figureslibres}
|
|
NUXT_INTERNAL_TOKEN: ${INTERNAL_TOKEN:-dev-internal-token}
|
|
NUXT_CONTENT_SOURCE: ${CONTENT_SOURCE:-dev}
|
|
NUXT_CONTENT_DIR: /content/02.projets
|
|
NUXT_DATA_DIR: /app/data
|
|
# Mode prod (voir docker-compose.prod.yml) : synchro rsync/SSH
|
|
NUXT_SYNC_REMOTE: ${SYNC_REMOTE:-}
|
|
NUXT_SYNC_SSH_KEY: ${SYNC_SSH_KEY:-}
|
|
ports:
|
|
- "8091:3000"
|
|
volumes:
|
|
- ./generator:/app
|
|
# Contenu Grav monté en LECTURE SEULE (contrainte ferme, §18).
|
|
- ./grav-reference/user/pages/02.projets:/content/02.projets:ro
|