Files
portfolio-generator-stack/docker-compose.prod.yml
Valentin Le Moign 48b7f97954 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>
2026-07-05 18:38:04 +02:00

24 lines
1.1 KiB
YAML

# Surcouche de déploiement (spec §5.2) :
# docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d generator
#
# - contenu tiré de la prod Figures Libres par rsync/SSH (bouton « Rafraîchir »)
# - build Nuxt puis serveur Nitro (pas de serveur de dev)
# - variables à définir dans un fichier .env (non versionné) :
# PORTFOLIO_PASSWORD=… mot de passe partagé
# SESSION_SECRET=… secret de session (longue chaîne aléatoire)
# INTERNAL_TOKEN=… jeton interne du rendu print
# SYNC_REMOTE=user@host:/chemin/vers/user/pages/02.projets/
# SYNC_SSH_KEY_FILE=~/.ssh/portfolio_sync clé privée SSH (lecture seule)
services:
generator:
command: sh -c "npm run build && npm run preview"
environment:
NUXT_CONTENT_SOURCE: prod
NUXT_SYNC_REMOTE: ${SYNC_REMOTE:?SYNC_REMOTE requis en mode prod}
NUXT_SYNC_SSH_KEY: /run/secrets/sync-ssh-key
NITRO_HOST: 0.0.0.0
NITRO_PORT: 3000
volumes:
- ./generator:/app
- ${SYNC_SSH_KEY_FILE:?SYNC_SSH_KEY_FILE requis en mode prod}:/run/secrets/sync-ssh-key:ro