Download and playback web video and audio locally, powered by yt-dlp, uvx with Vite, React, Tailwind CSS, Shadcn/ui and FastAPI providing the basis for the WebUI and API Service.
Light mode
Dark mode
Search downloads
Safe delete with long press
Using Docker or Podman...
sudo docker run -d \
-p 8080:80 \
-v /path/to/your/downloads:/ytdlp-downloads \
--name uvxytdlp-ui-container \
ghcr.io/ocodo/uvxytdlp/uvxytdlp-ui:ineffable-idiocyThen go to http://localhost:8080
run from project root:
pnpm install
vite [--port <your port>] [--host <0.0.0.0>]The backend uses uvx to fetch a fresh version of yt-dlp daily.
Install uv (to get uvx)
curl -LsSf https://astral.sh/uv/install.sh | shcd apiserverCopy config.example.toml to config.toml and edit it to set the download folder.
uv venv
source .venv/bin/activate
fastapi devSee fastapi --help for other options.
To build the container:
docker build -t uvxytdlp-ui .(for Podman it's the same, replace docker with podman)
To run with uvxytdlp-ui note downloads in the container are at is /ytdlp-downloads/. use -v your_dir:/ytdlp-downloads in you podman/docker run command: e.g.:
docker run -d \
-p 8080:80 \
-v $local_download_dir:/ytdlp-downloads \
--name uvxytdlp-ui-container \
docker.io/library/uvxytdlp-uidocker start uvxytdlp-ui-containeror
docker stop uvxytdlp-ui-container