explaingit

alexta69/metube

13,511PythonAudience · generalComplexity · 2/5Setup · easy

TLDR

MeTube is a self-hosted web interface for yt-dlp that lets you download videos and audio from YouTube and hundreds of other sites by pasting a link into a browser, no command line needed.

Mindmap

mindmap
  root((repo))
    What it does
      Web UI for yt-dlp
      No command line
      Self-hosted
    Features
      Video and audio
      Playlist support
      Channel monitoring
    Setup
      Docker container
      Environment vars
      Port 8081
    Outputs
      Video files
      Audio only
      Captions thumbnails
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Download YouTube videos or audio-only files to a home server or NAS by pasting a link into a browser page.

USE CASE 2

Set up automatic playlist and channel monitoring that adds new uploads to a download queue on a schedule.

USE CASE 3

Run MeTube in Docker with environment variables to control file naming, download folder, and concurrent download limits.

Tech stack

PythonDockeryt-dlp

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

MeTube is a self-hosted web interface for downloading video and audio from YouTube and many other sites. It is built on top of a popular command-line program called yt-dlp, which does the actual downloading. yt-dlp normally runs by typing commands in a terminal, which is awkward for many people. MeTube puts a simple web page in front of it: you run MeTube on your own machine or server, open it in a browser, paste a link, and it fetches the media for you. Self-hosted means you run it yourself rather than relying on someone else's website. The README lists its main abilities. You can download videos, audio-only files, captions, and thumbnails from the browser interface. It can handle whole playlists and channels, with options for how the output is named and organized. It can also subscribe to channels and playlists, check them on a schedule for new uploads, and automatically add new items to the download queue. The recommended way to run MeTube is with Docker, a system for packaging software so it runs the same way anywhere. The README shows a single Docker command, and an equivalent docker-compose file, that starts MeTube on port 8081 and points it at a folder on your computer where downloads should be saved. Most of the README is a long reference of environment variables, which are settings you pass in when starting the container. These cover download behavior, such as how many downloads run at once and how long completed items stay in the list, storage, such as which folders hold videos, audio, temporary files, and saved state, file naming templates and extra options handed through to yt-dlp, and web server settings, such as the host, port, optional HTTPS, and cross-origin rules needed for browser extensions and bookmarklets. Each setting lists its default value. The result is a flexible downloader that you can tune to fit your own setup without touching the underlying tool directly.

Copy-paste prompts

Prompt 1
Give me the docker-compose.yml to run MeTube and save all downloads to /mnt/media on my home server.
Prompt 2
How do I configure MeTube to automatically check a YouTube channel for new videos every day?
Prompt 3
What environment variables do I set in MeTube to download audio-only as MP3 files by default?
Prompt 4
How do I enable HTTPS in my MeTube Docker container and put it behind a reverse proxy?
Open on GitHub → Explain another repo

← alexta69 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.