A self-hosted web UI for yt-dlp. Download videos from YouTube and 1000+ sites with a beautiful dark interface.
Get running in minutes with Docker Compose or Helm.
# Copy .env.example to .env and fill in your values
cp .env.example .env
# Start the stack
docker compose up -d
# Install with Helm
helm install wytui \
oci://ghcr.io/willuhmjs/wytui
# Or with custom values
helm install wytui \
oci://ghcr.io/willuhmjs/wytui \
-f values.yaml
A complete media management platform — download, watch, organize, and automate.
Watch downloads directly in the browser. Variable speed, keyboard shortcuts, HTTP Range seeking, timestamp deep links (?t=), similar videos sidebar, and a context menu for loop, speed, and SponsorBlock controls.
Automatic sponsor segment skipping with colored seek bar overlays. Powered by the community SponsorBlock database.
Per-user playback position tracking. Resume where you left off and see which videos you've watched. Continue Watching section on the homepage.
Cast videos to any Chromecast device. Play, pause, and seek from the browser with full Cast SDK integration.
Pre-configured presets for 4K, 1080p, 720p, 480p video and MP3, AAC, FLAC audio. Save custom profiles with any yt-dlp flags.
Temporary cache with configurable quota plus a permanent library organized by uploader. Promote downloads to your library with one click.
Monitor channels and playlists. Auto-download new content on a schedule. Backfill by date, download entire channels, or import a YouTube playlist with live progress tracking.
Watch livestreams and auto-download when they go live. Never miss a stream from your favorite creators.
Live download status via Server-Sent Events. Granular step-by-step tracking through fetch, download, and post-processing stages — speed, ETA, and ffmpeg progress all update live.
Companion extension for Chrome and Firefox. Works on YouTube and 1000+ supported sites — select quality, profile, and playlist, then send to wytui in one click. Detects already-downloaded URLs automatically.
Per-channel download settings. Override format, quality, SponsorBlock, and auto-delete on a per-creator basis.
Import browser cookies to download member-only, age-restricted, or paywalled content. Paste a Netscape-format cookie file directly in the settings.
Cap download bandwidth with a configurable speed limit and optional sleep interval between downloads. Avoid hammering your network or CDN rate limits.
Instant search across titles, descriptions, uploaders, and subtitles. Powered by PostgreSQL full-text search with ranked results — find the exact moment someone says something in any video.
Organize downloads into playlists with drag-to-reorder. Create, edit, and manage playlists with a dedicated UI.
YouTube categories from metadata plus user-defined tags. Filter and organize your library with flexible tagging.
Automatically classifies videos as regular, short, or livestream. Filter your library by content type.
Auto library scan on download completion for both Jellyfin and Plex. Jellyfin also gets thumbnail artwork and deep-link search. Your downloads flow seamlessly into your media server.
See dislike counts on videos via the Return YouTube Dislike API. Metadata is fetched and stored alongside your downloads.
Re-fetch metadata for individual videos or in bulk. Update titles, descriptions, thumbnails, and dislike counts on demand.
Automatically delete watched videos after a configurable number of days. Per-channel overrides for fine-grained control.
Get notified on download completion or failure via 80+ services. Powered by Apprise — supports Discord, Slack, email, and more.
Full database backup and restore with scheduled backups via cron. Download backups as JSON, restore with one click.
Import existing video files from your filesystem. Scans directories, extracts YouTube IDs, and creates library entries automatically.
Dashboard for all background jobs — subscriptions, monitors, auto-delete, backups, cache cleanup. View history and trigger runs manually.
OpenID Connect SSO, LDAP, and reverse-proxy header auth (Authelia, Authentik). Admin and user roles with secure multi-user access via your existing identity provider.
Responsive sidebar navigation with bottom tab bar on mobile. Web Share API on iOS, keyboard shortcuts on desktop.