Files
ytplayer/scripts/lyrics/Dockerfile

16 lines
768 B
Docker

# 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}"]