FROM python:3.11-slim # ffmpeg does the TS -> fragmented MP4 remux. ca-certificates for HTTPS. # nodejs / yt-dlp-ejs / bgutil-ytdlp-pot-provider were removed: the POT provider # package is a client for a Node HTTP server on :4416 that was never started, so # it did nothing but slow the build and add a failure point. They belong to the # YouTube work, not to Kick and Twitch. RUN apt-get update \ && apt-get install -y --no-install-recommends ffmpeg ca-certificates \ && rm -rf /var/lib/apt/lists/* ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PYTHONPATH=/app \ PIP_NO_CACHE_DIR=1 \ LOG_LEVEL=INFO WORKDIR /app COPY requirements.txt . # yt-dlp moves fast and its extractors break weekly: always take the latest. RUN pip install --no-cache-dir -U pip \ && pip install --no-cache-dir -U -r requirements.txt COPY app.py /app/app.py COPY core /app/core COPY sources /app/sources EXPOSE 7860 CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]