diff --git a/apps/jellyfin/docker-compose.yaml b/apps/jellyfin/docker-compose.yaml index 1b9f345..d46d5a9 100644 --- a/apps/jellyfin/docker-compose.yaml +++ b/apps/jellyfin/docker-compose.yaml @@ -10,6 +10,15 @@ # the directory exists and isn't a system path, and docker-compose # substitutes the value below at `docker compose up` time. # +# The `${MEDIA_PATH:-/nonexistent}` default-substitution keeps +# `validate-catalog.py` (which runs `docker compose config` without any +# .env) from failing on the empty-string case: an empty MEDIA_PATH +# would expand to `:/media:ro` which compose rejects as "empty section +# between colons". /nonexistent is an obviously-wrong fallback so if it +# ever actually reaches `docker compose up` (which requires a broken +# install flow), the mount fails loudly instead of silently mounting +# something random. +# # TODO(image-pin): `:latest` is shaky for production — pin to a digest # (`jellyfin/jellyfin@sha256:...`) or a stable tag once we've verified # one against the upstream registry. MVP drift risk accepted. @@ -29,7 +38,7 @@ services: volumes: - furtka_jellyfin_config:/config - furtka_jellyfin_cache:/cache - - ${MEDIA_PATH}:/media:ro + - ${MEDIA_PATH:-/nonexistent}:/media:ro volumes: furtka_jellyfin_config: