DB_PORT was doing double duty - the container-internal port baked into
DATABASE_URL (must be 3306) and the host-published port in
docker-compose.yml. Setting it to 3306 for the URL made compose try to
publish host :3306, which collides with another stack's MySQL.
DATABASE_URL now hardcodes database:3306 (always correct inside the
compose network); the host publish uses ${DB_HOST_PORT:-3310}.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Hand-managed apk build deps + docker-php-ext-install was failing to build
on the server. Switch to the extension-installer image (same approach the
escapepage stack uses), which resolves system libs itself.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- docker/php/php.ini: upload_max_filesize 8M / post_max_size 10M
- docker/nginx/default.conf: client_max_body_size 10M
- ArtworkType: Image maxSize 8M with a clear message + help text
(local C:\php\php.ini was bumped from 2M the same way — not in the repo)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>