infra: add persistent uploads volume and configure Caddy to serve static images
- Add named Docker volume `uploads` mounted at /app/public/uploads in app container - Share same volume with Caddy at /srv/uploads for direct static file serving - Add Caddy `handle /uploads/*` block so images bypass Next.js (standalone mode does not serve runtime public files) - Create uploads directory with correct nextjs:nodejs ownership in Dockerfile - Add mkdir safeguard in entrypoint.sh
This commit is contained in: