App (PHP-FPM) container never got public/build/manifest.json, only
the nginx container built it — blade's @vite runs server-side in PHP
and threw "Vite manifest not found", causing 500 on every page.
Also:
- strip docker/ (incl. DB dump) from the shipped app image
- pin npm installs to package-lock.json via npm ci in both build stages
- fix .dockerignore case typo (Docker/Dockerfile -> docker/Dockerfile)
- pass AWS_* env vars to app service, required since FILESYSTEM_DISK=s3
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>