Port PG 5436→5437, port frontend 3003→3005 to avoid conflicts with Coltura.
Add fix-permissions target in Makefile to create var/cache and var/log as root before composer install.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docker-compose-plugin package is not in Debian default repos.
Download the binary directly from GitHub releases.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Deploy scripts use `docker compose` (Compose V2 plugin) which is not
included in docker.io package.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Mount host /var/www into /mnt/apps to avoid conflict with container /var/www/html
- Use GID 987 (host docker group) instead of 999 for socket access
- Add group_add in docker-compose for container-level GID
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Host /var/www contains all apps. Mounting it at /mnt/apps avoids
overwriting the container's /var/www/html where Central lives.
App paths in the UI should use /mnt/apps/ prefix.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Create var/log in Dockerfile (fixes Symfony logging in prod)
- Add www-data to docker group (fixes docker CLI access for health/deploy)
- Remove obsolete /var/www/maintenance/* dirs (volumes mount app dirs directly)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Same architecture as Lesstime: API Platform 4, JWT auth, @malio/layer-ui,
PostgreSQL 16, Docker Compose (ports 8083/3003/5436), dark mode theme.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>