# Lyrics worker — transcribes saved songs that have no lyrics yet, one at a # time, with faster-whisper on CPU (no API keys). Talks to the ytplayer # service over the compose network only; see scripts/lyrics/auto_lyrics.py. FROM python:3.12-slim ENV PYTHONUNBUFFERED=1 \ HF_HOME=/models \ PIP_NO_CACHE_DIR=1 WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY auto_lyrics.py . # Model weights (downloaded on first use) and the worker's memory of # instrumentals/failures live on volumes, so rebuilds don't re-download. VOLUME ["/models", "/data"] CMD ["sh", "-c", "exec python auto_lyrics.py --missing --watch ${WATCH_SECONDS:-300} --state /data/state.json --model ${WHISPER_MODEL:-large-v3-turbo} --threads ${WHISPER_THREADS:-2}"]