File size: 834 Bytes
5257b05 23faed9 5257b05 23faed9 5257b05 23faed9 5257b05 23faed9 5257b05 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | FROM python:3.12-slim
# ffmpeg converts non-AAC audio to M4A; deno is the JavaScript runtime yt-dlp uses for YouTube.
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/*
COPY --from=denoland/deno:bin /deno /usr/local/bin/deno
# Run as uid 1000 (required by Hugging Face Spaces, harmless elsewhere)
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user PATH=/home/user/.local/bin:$PATH PYTHONUNBUFFERED=1 CACHE_DIR=/home/user/cache
WORKDIR /home/user/app
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt
COPY --chown=user app.py .
EXPOSE 7860
# Refresh yt-dlp on every start so YouTube changes don't break downloads; keep going if offline.
CMD pip install --no-cache-dir --user -q -U "yt-dlp[default]" || true; exec python app.py
|