16 lines
768 B
Docker
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}"]
|