All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Bouton PDF blanc par chapitre avec numéro de page (ChapterHeader) - Badges morceaux plus visibles (bordure, poids, hover) dans ChapterHeader et SongBadges - PDF viewer : page cible + panneau signets ouverts par défaut (BookPdfReader) - Config YAML : pdfFile dans book, chapterPages pour le mapping chapitre→page - Admin book : section PDF du livre avec chemin éditable et sauvegarde - Git sync automatique : chaque sauvegarde admin commit+push en prod (ADMIN_GIT_SYNC=true) - Docker : git installé en prod, volumes pour .git/site/content/public Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
name: librodrome
|
|
services:
|
|
app:
|
|
build:
|
|
context: ../
|
|
dockerfile: docker/Dockerfile
|
|
target: production
|
|
environment:
|
|
NODE_ENV: ${NODE_ENV:-production}
|
|
NUXT_PUBLIC_SITE_URL: ${NUXT_PUBLIC_SITE_URL:-https://librodrome.org}
|
|
NUXT_ADMIN_PASSWORD: ${NUXT_ADMIN_PASSWORD}
|
|
NUXT_ADMIN_SECRET: ${NUXT_ADMIN_SECRET}
|
|
ADMIN_GIT_SYNC: ${ADMIN_GIT_SYNC:-false}
|
|
ports:
|
|
- 3000
|
|
volumes:
|
|
- ./data:/src/data
|
|
- ./public:/src/public
|
|
# Git sync admin → nécessite un clone du repo sur le serveur
|
|
# avec accès push (clé SSH ou token) + ADMIN_GIT_SYNC=true dans .env
|
|
- ../.git:/app/.git
|
|
- ../site:/app/site
|
|
- ../content:/app/content
|
|
- ../public:/app/public
|
|
restart: always
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.librodrome.rule=Host(`librodrome.org`)"
|
|
- "traefik.http.routers.librodrome.entrypoints=websecure"
|
|
- "traefik.http.routers.librodrome.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.librodrome.loadbalancer.server.port=3000"
|