Own your library
Videos stay on your disk under your control. No algorithmic feed, no account lock-in — just a private media server you run.
MyTube is a self-hosted downloader and player for YouTube, Bilibili, Twitch, MissAV, and every yt-dlp site. Subscribe to channels, queue batch downloads, curate collections, and share private RSS feeds — all from a sleek web UI.
Videos stay on your disk under your control. No algorithmic feed, no account lock-in — just a private media server you run.
Follow YouTube, Bilibili, and Twitch channels. New uploads land in your library automatically while you sleep.
Password login, optional passkeys, read-only visitor accounts, and filtered private RSS links for external readers.
Features
From a single URL paste to full subscription automation — MyTube covers download, playback, metadata, and integration.
Paste a URL from YouTube, Bilibili, Twitch, MissAV, or any yt-dlp-supported site.
Add many links at once, track progress side-by-side, and cap concurrent downloads.
Auto-download new uploads from subscribed creators across major platforms.
Organize videos into custom playlists and collections for fast browsing.
Generate filtered RSS links for Plex, readers, or any compatible app.
Pull default-language subtitles from YouTube and Bilibili automatically.
Scrape movie and TV metadata from filenames with localized TMDB matching.
Upload videos and thumbnails to OpenList/Alist after download completes.
Run shell scripts on download events or get instant Telegram notifications.
Send videos to MyTube directly from your browser on any supported site.
Expose your instance securely without port forwarding — built into settings.
English, Chinese, Japanese, Korean, and more — switch anytime in the app.
Web UI
A modern React interface with Material Design — search, filter, upload local files, manage subscriptions, and watch inline.
Supported sources
MyTube uses yt-dlp under the hood — first-class support for the platforms you care about, plus every site in the yt-dlp catalog.
Need the full list? Browse yt-dlp supported sites →
Ecosystem
Download from the page you're on — supports all yt-dlp sites.
Short-form web client with a feed-style experience for vertical videos.
Native Android app for browsing and playback via the MyTube API.
Security
Quick start
Pull the official GHCR image and expose port 5551.
docker run -d \
--name mytube \
-p 5551:5551 \
-v ./data:/app/data \
-v ./uploads:/app/uploads \
ghcr.io/franklioxygen/mytube:latest
Clone the repo, install dependencies, and run the dev servers.
git clone https://github.com/franklioxygen/mytube.git
cd mytube
npm run install:all
npm run dev
Visit localhost:5551, paste a video URL, and hit download.
Technology
Node.js · Express · TypeScript · SQLite · Drizzle ORM · Vitest
React 19 · Vite · Material UI · React Query · React Router 7
Free, open source, and MIT licensed. Star the repo, spin up Docker, or try the read-only demo.