Files
docker-ytdlp/README.md
imagede 25bf7db167 init
2026-03-29 19:07:11 +02:00

1.8 KiB

yt-dlp Web Downloader

A minimal self-hosted web UI for downloading videos and audio via yt-dlp.

Features

  • Download videos as MP4 at any quality (best / 1080p / 720p / 480p / 360p)
  • Download audio as MP3 (192kbps, extracted via ffmpeg)
  • Live progress bar with speed & ETA
  • Direct in-browser file download button
  • Works with YouTube, SoundCloud, Twitter/X, Twitch, and 1000+ other sites

Quick Start

# Clone / copy this directory, then:
docker compose up -d --build

Open http://localhost:8080 in your browser.

Downloaded files are saved to ./downloads/ on the host.

Usage

  1. Paste a URL into the input box
  2. Click Preview to see the video title & thumbnail (optional)
  3. Choose Format (Video or Audio) and Quality
  4. Click Download — a progress card appears below
  5. When done, click ⬇ Download File to save it locally

Configuration

Variable Default Description
TZ Europe/Berlin Container timezone

To change the host port, edit docker-compose.yml:

ports:
  - "9090:8080"   # → opens on port 9090 instead

Updating yt-dlp

yt-dlp releases frequently. Rebuild the image to get the latest version:

docker compose build --no-cache && docker compose up -d

Or, to update inside a running container without rebuilding:

docker exec ytdlp-web pip install --upgrade yt-dlp

Notes

  • Files are prefixed with a random job ID internally; the download button strips the prefix for a clean filename.
  • Downloads are kept in /downloads inside the container. Mount a host path to persist them across container restarts.
  • No authentication is included by default. If exposed to the internet, put it behind a reverse proxy (e.g. nginx or Caddy) with basic auth.