Pass upload_max_filesize=50M and post_max_size=55M directly with -d
flags on every php process in supervisord. This is guaranteed to apply
regardless of ini scanning order or Docker layer caching.
Also move COPY docker/php.ini before COPY . . so the conf.d file is
always placed before the app code is copied, ensuring Docker does not
use a stale cached layer that skips the ini file.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use printf instead of echo to correctly write php.ini with newlines
(Alpine ash echo does not interpret \n, leaving the file malformed
and PHP falling back to its 2MB default)
- Add nginx.conf with client_max_body_size 25M as front-end proxy
- Start nginx on port 8080 via supervisord; move artisan serve to
internal port 8081 so nginx can proxy requests with proper limits
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>