19a403b431
publicUrl() defaulted MEDIA_BASE to "/media" even with no env set, so cover art on public share pages pointed at a /media path that only the old nginx (Plesk) box served. In the containerized Coolify/Docker deploy nothing serves /media, breaking those images. Return null when MEDIA_PUBLIC_BASE_URL is unset so callers fall back to the app's own /api/public/.../cover route (the deploy README already documents assets as app-served). Backward compatible: behavior is unchanged when the env var is set. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>