php artisan storage:link was creating a regular file instead of a
symlink, causing 404s for all uploaded images.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Docker volume replaces storage/app/ with an empty volume on first
run, so storage/app/public/ must be created explicitly before the
storage:link symlink is registered.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>