HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
alexta69
metube
Python2021–2026
alexta69 / metube

metube

Self-hosted video downloader for YouTube and other sites (web UI for yt-dlp)

6Distinct people
8Mentions
0Explicit recommenders
15.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Self-hosted video downloader for YouTube and other sites (web UI for yt-dlp)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year8 dated mentions

Observed mentions: 2021-09-10 11:07:48 UTC to 2026-04-06 04:06:20 UTC.

0122021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC220
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

8 sources
EDIT: Sorry I realised you were asking more about categorisation and not downloading. —— The closest thing I can think of is Tube Archivist, which seems made for archiving large YouTube collections, including things like comments on videos. I’ve had mixed luck with it and it’s a bit too heavy for my fairly limited needs. Youtube-dl hasn’t worked for me for the last month or so on it —- oddly enough I have a MeTube instance on the same physical machine (different VM) which is a lighter web UI for yt-dlp and which is still working fine. That’s Youtube’s fault I assume and not the fault of Tube Archivist. https://www.tubearchivist.com/ https://github.com/alexta69/metube
In Show HN: I made a YouTube search form with advanced filters
One tool you might like is MeTube. While it can't schedule anything, I have it running it on a headless Beelink computer. So if I want to grab a video or channel, I can open a browser on any device, go to the server, and tell it to fetch whatever I want. The download location is set to a NAS so I can view the media with any device as well. It even supports extended yt-dlp options, so you can even tell it to use things like SponsorBlock. It's pretty great overall https://github.com/alexta69/metube
In YouTube DRM added on ALL videos with TV (TVHTML5) clients
I selfhost https://github.com/alexta69/metube I have it sitting on a URL and I have an iOS share shortcut to throw any URL at it and it downloads the video. Copy-paste from my ansible setup if you're interested, shouldn't be that hard to convert to docker-compose. - name: Build metube options separately, avoids inline JSON in metube setup ansible.builtin.set_fact: metube_ytdl_options: postprocessors: - key: FFmpegEmbedSubtitle - key: SponsorBlock categories: - sponsor - key: ModifyChapters remove_sponsor_segments: - sponsor subtitleslangs: - en - "-live_chat" verbose: true writeautomaticsub: true writesubtitles: true - name: Create metube container
Read the rest
community.general.docker_container: container_default_behavior: "no_defaults" name: metube image: alexta69/metube:latest restart_policy: always env: UID: "{{ plex_userid }}" GID: "{{ docker_users_groupid }}" DELETE_FILE_ON_TRASHCAN: "false" DOWNLOAD_DIRS_INDEXABLE: "true" DOWNLOAD_DIR: /downloads TEMP_DIR: /metube-tmp STATE_DIR: /config TZ: "{{ timezone }}" YTDL_OPTIONS: "{{ metube_ytdl_options | to_json }}" mounts: - type: bind source: /stacks/metube/config target: /config read_only: false - type: volume source: metube_tmp_location_volume target: /metube-tmp - type: volume source: plex_metube_volume target: /downloads labels: "traefik.enable": "true" "traefik.http.routers.metube.middlewares": "authelia@docker" "traefik.http.routers.metube.service": "metube" "traefik.http.routers.metube-no-auth.rule": "Host(`metube.home.domain.com`) && (PathPrefix(`/favicon`) || PathPrefix(`/add`))" "traefik.http.routers.metube-no-auth.service": "metube" "traefik.http.services.metube.loadbalancer.server.port": "8081" ports: [] dns_servers: - "{{ docker_network_ipv4_bridge_dns }}" # adguard networks: - name: bridge_ipv4
In Downloading a video should be “fair use” as recording a song from the radio

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.