Try describing what you need:

MyTube logo

MyTube

★ 1.3k

A self-hosted alternative to Youtube

MIT LicenseOpen Source — No Paywall2 Containers — 2 containers — light hosting footprintDocker · SourceNo external DB2+ active committers (12mo)

About

MyTube is a self-hosted web application for downloading, organizing, and playing online videos from services such as YouTube, Bilibili, Twitch, MissAV, and other yt-dlp-supported sites. It is aimed...

Community Ratings

No ratings yet
app-screenshot

Features

  • video downloading
  • video upload
  • channel subscriptions
  • auto-downloads
  • local media storage
  • private RSS feeds
  • collections
  • TMDB metadata scraping
  • parallel downloads
  • Cloudflare Tunnel support

Details

Last Updated
Nov 9, 2026
Created
Mar 9, 2025
Install Methods
dockersource
Requirements
Node.js 22.22+, 23.x, 24.x, 25.x, or 26.xnpm v9+SQLitebetter-sqlite3
Default Port
5556From the project's Compose file
Authentication
local
API
REST
Backup & Export
api-exportfile-backup
Runtime / Stack
NodejsDocker
Privacy & Independence
Cloud: OptionalOffline Capable
User Model
Multi-User
Deployment

Deployment: Docker Compose ✓2 Containers — light hosting footprintRuns as 2 containers

Run MyTube yourself

Pick how much you want to manage.

1 more way to host

Some links earn us a commission. netcup pays us one and is our preferred VPS host.

Is this your project? Sponsor a listing

Run MyTube with Docker Compose

Compose file from the MyTube project repository.

2 services

no resource limits declared

needs persistent storage (2 volumes)

stacks/docker-compose.yml · @ fb44e11 · scanned Nov 3, 2026

# Default two-container deployment
# Usage: docker compose -f stacks/docker-compose.yml up -d

services:
  backend:
    image: franklioxygen/mytube:backend-latest
    pull_policy: always
    container_name: mytube-backend
    volumes:
      - /share/CACHEDEV2_DATA/Medias/MyTube/uploads:/app/uploads
      - /share/CACHEDEV2_DATA/Medias/MyTube/data:/app/data
    environment:
      - PORT=5551
      # Optional: match the backend process uid/gid to the host-side file ownership.
      - PUID=${PUID:-1000}
      - PGID=${PGID:-1000}
      # Set to 0 to disable the startup chown pass for bind-mounted data/uploads.
      - MYTUBE_AUTO_FIX_PERMISSIONS=${MYTUBE_AUTO_FIX_PERMISSIONS:-1}
      # Optional: declare the admin trust boundary for this deployment.
      # Valid values: application | container | host
      # Docs: documents/en/deployment-security-model.md
      - MYTUBE_ADMIN_TRUST_LEVEL=container
    restart: unless-stopped
    networks:
      - mytube-network
    # Avoid Chromium/Puppeteer stalls on hosts with half-enabled IPv6.
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=1
      - net.ipv6.conf.default.disable_ipv6=1
    # For OpenWrt/iStoreOS systems where bridge network cannot access internet,
    # prefer stacks/docker-compose.host-network.yml. If adapting this file
    # manually, remove the backend networks and sysctls blocks before enabling
    # host networking; Docker rejects net.* sysctls with network_mode: host.
    # network_mode: host
    # Then set NGINX_BACKEND_URL=http://localhost:5551 for frontend service

  frontend:
    image: franklioxygen/mytube:frontend-latest
    pull_policy: always
    container_name: mytube-frontend
    ports:
      - "5556:5556"
    environment:
      # For internal container communication, use the service name
      # These will be replaced at runtime by the entrypoint script
      - VITE_API_URL=/api
      - VITE_BACKEND_URL=
      # For QNAP or other environments where service discovery doesn't work,
      # you can override these values using a .env file with:
      # - API_HOST=your-ip-or-hostname
      # - API_PORT=5551
      # For host network mode (when backend uses network_mode: host), set:
      # - NGINX_BACKEND_URL=http://localhost:5551
    depends_on:
      - backend
    restart: unless-stopped
    networks:
      - mytube-network
    # If backend uses host network mode, uncomment the following:
    # network_mode: host
    # And remove the ports mapping above

volumes:
  backend-data:
    driver: local

networks:
  mytube-network:
    driver: bridge
    # DNS configuration to help with network connectivity issues on OpenWrt/iStoreOS
    # If you still have issues accessing internet from containers, try:
    # 1. Add your router's DNS servers: dns: [8.8.8.8, 8.8.4.4]
    # 2. Or use host network mode for backend (see comments above)
    driver_opts:
      com.docker.network.bridge.enable_ip_masquerade: "true"
      com.docker.network.bridge.enable_icc: "true"

This file may be out of date. Check the MyTube website for current setup steps.

Track your self-hosted stack

Bookmark software to try, rate tools you've used, and keep your collection in one place.

Metadata extracted from README on Nov 2, 2026

Alternatives to MyTube

MeTube logo

MeTube

15.2k
A web GUI for youtube-dl/yt-dlp that lets users download videos from YouTube and other supported sites, with playlist support.
Media ManagementCopyleft LicenseMedia Servers+2
Details
Elengrab logo

Elengrab

54
A self-hosted cross-platform downloader and media viewer for video and audio from 1,000+ platforms.
Media Management
Single Container
Details
yt-dlp Web UI logo

yt-dlp Web UI

2.6k
A web UI and RPC server for yt-dlp that helps fetch videos and monitor upcoming livestreams.
Media ManagementCopyleft LicenseMedia Servers+2
Single Container
Details
Youtarr logo

Youtarr

1.8k
A self-hosted YouTube downloader that auto-downloads videos from subscribed channels and playlists, then organizes and syncs them with media servers like Plex, Jellyfin, and Emby.
Media ManagementMedia ServersAutomation Tools+2
2 Containers
Details
youtube-dl-nas logo

youtube-dl-nas

201
A NAS-friendly download queue for videos, audio, and subtitles that wraps yt-dlp with an authenticated web dashboard and REST API.
Media Management
Single Container
Details
YoutubeDL-Server logo

YoutubeDL-Server

319
A simple web and REST interface for downloading YouTube videos onto a server.
Media ManagementMedia ServersAutomation Tools+2
2 Containers
Details
Tube Archivist logo

Tube Archivist

8.6k
Tube Archivist is a self-hosted web application for indexing, searching, downloading, and watching archived YouTube videos offline.
Media ServersDigital ArchivingMedia Management+2
Details
ydl_api_ng logo

ydl_api_ng

240
A web server that lets users trigger downloads on their server through a REST API using yt-dlp.
Media ManagementDigital ArchivingAutomation Tools+2
2 Containers
Details
Pinchflat logo

Pinchflat

5.4k
Pinchflat is a self-hosted YouTube media manager for downloading content from channels and playlists with yt-dlp.
Media ManagementMedia ServersDigital Archiving+4
Single ContainerFully FOSS
Details
HomeTube logo

HomeTube

1.6k
Web UI to download videos and playlists from 1700+ sites into a Plex or Jellyfin library, with quality selection, SponsorBlock sponsor removal, subtitles, clip cutting and resilient playlist sync.
Media Management
Details
tubesync logo

tubesync

2.8k
TubeSync is a web-based personal video recorder for YouTube that syncs channels and playlists to local storage and can update media servers like Plex or Jellyfin.
Media ManagementMedia ServersFile Synchronization+4
Cloud Required
Details
ChannelTube logo

ChannelTube

335
ChannelTube is a tool for synchronizing and fetching content from YouTube channels using yt-dlp.
Media ManagementDigital ArchivingAutomation Tools+4
Details

Related Software

vod2pod-rss logo

vod2pod-rss

392
Converts YouTube or Twitch channels into a podcast RSS feed, with optional on-the-fly MP3 transcoding.
Audio StreamingMedia ManagementAutomation Tools+2
Details
Webtor logo

Webtor

721
Webtor is a self-hosted torrent streaming and download platform delivered as an all-in-one Docker image.
P2P File SharingMultimedia StreamingMedia Servers+4
Details
Rapidbay logo

Rapidbay

907
RapidBay is a self-hosted web app for searching torrents, selecting video files, and streaming or casting them after automatic conversion.
Media ServersPermissive LicenseMedia Management+3
Details
Tracearr logo

Tracearr

2.7k
A monitoring platform for Plex, Jellyfin, and Emby that provides a unified dashboard, playback analytics, account sharing detection, and automations.
Media ManagementMedia ServersAnalytics Tools+1
3 Containers
Details
Medusa logo

Medusa

2.0k
Automatic video library manager for TV shows that watches for new episodes, searches providers, and processes downloads.
Media ManagementAutomation ToolsSelf Hosting Solutions+2
Details
Pinepods logo

Pinepods

1.1k
PinePods is a self-hosted podcast management system with web, desktop, mobile, and CLI clients.
Audio StreamingMedia ManagementSelf Hosting Solutions+2
Single ContainerFully FOSS
Details
Channels DVR Server logo

Channels DVR Server

Flexible server providing a whole home DVR experience for Channels.
Media ServersMedia ManagementSelf Hosting Solutions
Details
Kyoo logo

Kyoo

2.6k
Kyoo is a self-hosted media server for movies, series, and anime, positioned as an alternative to Jellyfin or Plex.
Multimedia StreamingSelf Hosting SolutionsMedia Management+3
10 Containers
Details