- Service unique : build local (ou image publiée en commentaire), non-root,
restart: unless-stopped.
- config.json monté en lecture seule ; un montage ./data:/data pour les
dossiers de dépôt (les `dir` des targets pointent sous /data).
- Commentaires sur l'uid 1000, le remap de port, l'override `user:`.
- .gitignore / .dockerignore : ajout de data/ ; README : section Docker
réécrite autour de Compose.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Build en 3 étapes (deps prod / compilation TS / runtime), image
node:22-bookworm-slim exécutée en non-root (utilisateur `node`).
- Debian slim et non Alpine : @fastify/secure-session dépend de
sodium-native, dont les prebuilds linux-x64/arm64 ciblent la glibc.
- config.json et dossiers de dépôt montés en volumes, jamais dans l'image
(.dockerignore exclut .env, config.json, uploads, node_modules, dist...).
- HEALTHCHECK sur GET /health ; section Docker ajoutée au README.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>