mirror of
https://github.com/skysyaz/timesheet-staging.git
synced 2026-07-14 08:40:51 +00:00
Pier rebuilds the container on every commit, so the image is now the real runtime. Bring it to parity with scripts/deploy-staging-vps.sh and make bad builds fail loudly instead of silently drifting: - Entrypoint mirrors the VPS runtime steps: migrate --force, config:cache and view:cache (routes are NOT cached because the /up closure route can't be serialized), favicon generation, and storage permission fixes. - Run web + queue:work + schedule:work under supervisor in one container. Previously nothing processed the database queue and no scheduler ran, so jobs and scheduled tasks never executed. - Declare /app/storage/app as a VOLUME so a Pier persistent volume keeps uploaded attachments across rebuilds (they were on ephemeral disk before). - Add a HEALTHCHECK on the public /login route so Pier can detect a boot that never becomes healthy (/up is IP-restricted and unsuitable from loopback). - composer install now uses --optimize-autoloader, matching the VPS deploy. - Bake trustProxies into bootstrap/app.php and drop the fragile sed injection that silently no-opped if the file was reformatted. - Add .dockerignore so local .env/vendor/node_modules are never baked into image layers and builds stay small. - Set PHP_CLI_SERVER_WORKERS so artisan serve handles concurrent requests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015qMh7msL8qSXMA9nSLTY38