Self-hosted Docker ready

MyTube: Your personal video library — download, organize, and watch on your terms.

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.

MyTube web UI showing collections, tags, authors, and a video library grid

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.

Subscribe & automate

Follow YouTube, Bilibili, and Twitch channels. New uploads land in your library automatically while you sleep.

Secure sharing

Password login, optional passkeys, read-only visitor accounts, and filtered private RSS links for external readers.

Features

Everything you need to build a personal streaming hub.

From a single URL paste to full subscription automation — MyTube covers download, playback, metadata, and integration.

Multi-site downloads

Paste a URL from YouTube, Bilibili, Twitch, MissAV, or any yt-dlp-supported site.

Batch & parallel queue

Add many links at once, track progress side-by-side, and cap concurrent downloads.

Channel subscriptions

Auto-download new uploads from subscribed creators across major platforms.

Collections

Organize videos into custom playlists and collections for fast browsing.

Private RSS feeds

Generate filtered RSS links for Plex, readers, or any compatible app.

Auto subtitles

Pull default-language subtitles from YouTube and Bilibili automatically.

TMDB metadata

Scrape movie and TV metadata from filenames with localized TMDB matching.

Cloud storage sync

Upload videos and thumbnails to OpenList/Alist after download completes.

Task hooks & Telegram

Run shell scripts on download events or get instant Telegram notifications.

Chrome extension

Send videos to MyTube directly from your browser on any supported site.

Cloudflare Tunnel

Expose your instance securely without port forwarding — built into settings.

10+ UI languages

English, Chinese, Japanese, Korean, and more — switch anytime in the app.

Web UI

Manage your library without leaving the browser.

A modern React interface with Material Design — search, filter, upload local files, manage subscriptions, and watch inline.

  • Responsive layout tuned for phones and tablets
  • Inline player with collections, tags, and author views
  • Settings for yt-dlp, cookies, TMDB, hooks, and tunnels
  • Upload local videos with automatic thumbnail generation
MyTube demo video thumbnail
Watch the overview on YouTube

Supported sources

One app, hundreds of sites.

MyTube uses yt-dlp under the hood — first-class support for the platforms you care about, plus every site in the yt-dlp catalog.

  • YouTube
  • Bilibili
  • Twitch
  • MissAV
  • 1000+ yt-dlp sites

Need the full list? Browse yt-dlp supported sites →

Ecosystem

Clients and extensions that extend MyTube.

Chrome extension

Download from the page you're on — supports all yt-dlp sites.

MikMok

Short-form web client with a feed-style experience for vertical videos.

mytube-android

Native Android app for browsing and playback via the MyTube API.

Security

Share safely, stay in control.

  • Password login with optional WebAuthn passkeys
  • Read-only visitor role for demos and family sharing
  • Three-tier admin trust model for Docker deployments
  • Cookie upload for age-restricted or member-only content

Quick start

From Docker pull to first download in minutes.

1

Docker (recommended)

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
2

From source

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
3

Open the UI

Visit localhost:5551, paste a video URL, and hit download.

Technology

Modern stack, production-ready.

Backend

Node.js · Express · TypeScript · SQLite · Drizzle ORM · Vitest

Frontend

React 19 · Vite · Material UI · React Query · React Router 7

Ready to own your video library?

Free, open source, and MIT licensed. Star the repo, spin up Docker, or try the read-only demo.