38 lines
985 B
Plaintext
38 lines
985 B
Plaintext
FROM python:3.10-slim-bookworm
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
TZ=America/Sao_Paulo \
|
|
LANG=C.UTF-8 \
|
|
LC_ALL=C.UTF-8
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
ca-certificates tzdata ffmpeg curl iputils-ping dnsutils procps \
|
|
&& update-ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY requirements.txt /app/requirements.txt
|
|
|
|
RUN python -m pip install --upgrade pip setuptools wheel && \
|
|
pip install -U -r /app/requirements.txt && \
|
|
pip install brotli brotlicffi mutagen certifi
|
|
|
|
RUN printf "%s\n" \
|
|
"--force-ipv4" \
|
|
"--noplaylist" \
|
|
"--merge-output-format" "mp4" \
|
|
"--extractor-args" "youtube:player_client=android,player_skip=webpage" \
|
|
"--format" "bv*+ba/b[height<=1080]/b" \
|
|
> /etc/yt-dlp.conf
|
|
|
|
COPY . .
|
|
|
|
RUN mkdir -p /app/videos && chmod 777 /app/videos
|
|
|
|
EXPOSE 8000
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
|