Le volume nommé inventory_logs est monté sur /var/www/html/var/log, mais ce
dossier n'existe pas dans l'image. Au premier montage d'un volume vide, Docker
crée le point de montage en root:root, ce qui empêche www-data d'écrire les
logs et fait crasher l'application. En créant var/log avant le chown -R, tout
volume de logs neuf hérite des droits www-data automatiquement.
Install symfony/monolog-bundle with rotating_file handlers.
Add named volume inventory_logs for prod log persistence.
Co-Authored-By: Claude Opus 4.6 (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>