Complète le branchement Sentry/GlitchTip côté déploiement pour que le front
reçoive son DSN et uploade ses source maps en prod.
- infra/prod/Dockerfile (stage frontend-build) : ARG NUXT_PUBLIC_SENTRY_DSN +
SENTRY_URL/ORG/PROJECT/AUTH_TOKEN, passés en préfixe inline du RUN npm run
generate (pas en ENV → token non persisté ; stage intermédiaire jeté de toute
façon). Vides par défaut => module Sentry inerte, pas d'upload.
- .gitea/workflows/build-docker.yml : --build-arg depuis les secrets Gitea
(INVENTORY_SENTRY_DSN_FRONT, SENTRY_URL, SENTRY_ORG, SENTRY_PROJECT,
SENTRY_AUTH_TOKEN).
- infra/prod/.env.example : documente SENTRY_DSN (back, runtime).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
qpdf was only installed in dev Dockerfile, causing the PDF compressor
to silently skip compression in production.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Les fichiers documents étaient stockés sous storage/storage/documents/
au lieu de storage/ directement, causant des 404 en prod.
Le deploy script corrige la structure et le Dockerfile crée le
répertoire var/storage/documents dans l'image.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Align project structure with Lesstime: move docker/ to infra/dev/ and
deploy/ to infra/prod/. Update all references in docker-compose,
makefile, CI workflow, Dockerfile, .gitignore and .dockerignore.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>