fix: CI deploy parity with compose — media env, volume, healthcheck
Rebuild & Deploy / rebuild (push) Successful in 59s

A missing env var aborts supervisord's %(ENV_x)s config expansion and
takes every program down, which is why the media-player merge failed
CI (run 151): rebuild.yml's docker run did not pass MEDIA_DIR /
MEDIA_SERVER_PORT / YTDLP_COOKIES.

- supervisord.conf: media-server inherits those vars from the container
  environment instead of hard-requiring them (media_server.py has safe
  defaults for all three).
- rebuild.yml: mount the media library volume, pass the media env, and
  extend the healthcheck to the media server healthz.
- compose: YTDLP_COOKIES defaults to the conventional /data/media/
  cookies.txt path (ignored unless the file exists).

Parity verified: container started with CI's exact env (no media vars)
— all five programs RUNNING.
This commit is contained in:
snowspeeder committed 2026-08-29 15:45:54 -04:00
1 parent 8a7cca456f
commit d7c385301e
3 files changed
+10 -6

No files matched your search

+4 -4
View File
@@ -60,6 +60,10 @@ environment=
[program:media-server]
; Runs as root because the /data/media bind mount is a host (Unraid) share
; whose uid does not match the container's voiceuser.
; MEDIA_DIR / MEDIA_SERVER_PORT / YTDLP_COOKIES are inherited from the
; container environment (media_server.py has safe defaults for all three) —
; do NOT list them via %(ENV_x)s here: a missing var aborts supervisord's
; config expansion and takes every program down with it.
command=/opt/voice-agent/.venv/bin/python /opt/voice/media_server.py
user=root
autostart=true
@@ -67,7 +71,3 @@ autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
redirect_stderr=true
environment=
MEDIA_DIR="%(ENV_MEDIA_DIR)s",
MEDIA_SERVER_PORT="%(ENV_MEDIA_SERVER_PORT)s",
YTDLP_COOKIES="%(ENV_YTDLP_COOKIES)s"