diff --git a/Dockerfile b/Dockerfile index 4b72707af..55fbc8874 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,22 +7,30 @@ WORKDIR /app # System packages RUN apt-get update \ - && apt-get install -y --no-install-recommends ffmpeg \ + && apt-get install -y --no-install-recommends \ + ffmpeg \ + nodejs \ + npm \ && rm -rf /var/lib/apt/lists/* # Create non-root user RUN adduser --disabled-password --gecos "" appuser \ - && chown -R appuser:appuser /app + && mkdir -p /app/web/backend/downloads \ + && mkdir -p /home/appuser/.config/yt-dlp \ + && chown -R appuser:appuser /app /home/appuser # Copy dependency file first for better build cache COPY requirements.txt /app/requirements.txt -RUN pip install --no-cache-dir -r /app/requirements.txt +RUN pip install --no-cache-dir -r /app/requirements.txt \ + && pip install --no-cache-dir -U "yt-dlp[default]" + +# Copy yt-dlp config +COPY yt-dlp.conf /home/appuser/.config/yt-dlp/config # Copy app COPY web /app/web -RUN mkdir -p /app/web/backend/downloads \ - && chown -R appuser:appuser /app/web/backend/downloads +RUN chown -R appuser:appuser /app/web/backend/downloads /home/appuser/.config/yt-dlp USER appuser diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..aaafff484 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +services: + yt-dlp-web: + build: . + container_name: yt-dlp-web + ports: + - "8000:8000" + volumes: + - ./cookies.txt:/tmp/cookies.txt:ro + - ./downloads:/app/web/backend/downloads \ No newline at end of file