Atlas expedition

Self-hosted YouTube archivers in 2026: core candidates survey

Six self-hosted YouTube tools compared on web UI, channel watching, and liked-video sync — TubeArchivist vs PinchFlat is the real decision.

38 sources ~7 min read #211 self-hosted · youtube · yt-dlp · homelab · archiving

Decision:

Want a real web app — search, in-browser playback, watched-tracking, multi-user? Run TubeArchivist and pay the Elasticsearch tax (~4 GB RAM, 3 containers).[2][28]

Want a lightweight "download channels into Jellyfin/Plex" manager? Run PinchFlat — single container, best filtering, but it is not a player.[3][13]

Comfortable in YAML and want the most control? Use ytdl-sub (CLI, no real UI).[4] Just paste-and-grab one video? MeTube.[1]

⚠ All six wrap yt-dlp, so all three "must-have" features (channel watch, liked-video sync via cookies) work the same way underneath — and break the same way when YouTube tightens bot detection.[23]

The field

Filtering to "self-hosted, has a browser UI, can run unattended" leaves six serious candidates plus a few honourable exclusions. Stars and last-push dates are current as of June 2026.

TubeArchivist

⭐ 8.1k · official media-server · push 2026-05-23
The only candidate that is a full "YouTube-at-home" app: Elasticsearch search, in-browser player, watched state, multi-user.[2][25]

PinchFlat

⭐ 5.0k · Elixir · push 2025-12-16
Single-container channel/playlist manager built to feed Jellyfin/Plex/Kodi; the 2026 rising star.[3][37]

TubeSync

⭐ 2.7k · Django PVR · push 2026-06-04
A "Sonarr for YouTube": web dashboard of sources, syncs into a media-server library.[5]

ytdl-sub

⭐ 2.8k · CLI/YAML · push 2026-06-04
Most powerful and most explicit; not a web UI (its "GUI" image is just code-server).[4][26]

MeTube

⭐ 13.8k · most popular · push 2026-06-06
Paste-a-link download queue. Added channel subscriptions in 2026, but no library/playback.[1][17]

yt-dlp-web-ui

⭐ 2.5k · Go/React · push 2026-05-28
Polished, responsive download-only front-end + RPC; no subscriptions, search, or playback.[6]

Out of scope: Tartube ⭐ 3.0k is a desktop GTK GUI, not a web app;[8] YoutubeDL-Material ⭐ 3.2k[7] and youtube-dl-server ⭐ 933[9] are download-only UIs without channel monitoring; ViewTube ⭐ 1.5k is a privacy front-end for watching live YouTube, not an archiver.[10]

Feature matrix

Tool ⭐ Stars Web UI Channel watch Liked / playlist sync In-browser playback Media-server fit Footprint
TubeArchivist 8.1k Full app (search, multi-user) ✓ cron rescan, once/day ✓ Liked/Watch Later as playlists (cookie) ✓ built-in player Own player; Jellyfin plugin ⚠ 3 containers, ~4 GB
PinchFlat 5.0k Manager (rules/presets) ✓ interval; regex + date + duration filters ✓ via cookies.txt (⚠ ban risk warned) ✗ "not for consuming in-app" ✓ Jellyfin/Plex/Kodi + NFO 1 container, SQLite
TubeSync 2.7k Dashboard (sources/tasks) ✓ per-source index, ≤24h ✓ Netscape cookies (⚠ own risk) ✗ hands off to media server ✓ Plex/Jellyfin (no Kodi) 1 container
ytdl-sub 2.8k ✗ CLI/YAML (code-server only) ✓ external cron + download archive ✓ cookiefile (⚠ no auto-prune) ✗ none ✓ NFO presets for Kodi/Jellyfin/Plex 1 container
MeTube 13.8k Download queue ✓ new in 2026 (60-min checks) ✓ cookie upload in UI ✗ download-only ✗ stateless, no NFO 1 container, tiny
yt-dlp-web-ui 2.5k Download queue (responsive) Manual playlist URL only 1 container, tiny

Sources by cell: web UI / playback / search [2][6][25][26]; channel watch [11][12][13][14][16][17]; liked/playlist sync [19][21][22][24]; media-server fit [30][31]; footprint [28].

Channel watching — how each polls

Every candidate except yt-dlp-web-ui can subscribe to a channel/playlist and auto-grab new uploads; the differences are scheduling model and filtering depth.

  • PinchFlat is the most filter-rich: interval-based indexing (the next index is scheduled only after the current finishes), with Title Filter Regex, a Download Cutoff Date, and min/max duration filters. A channel is fully indexed once, then it only looks for new media, and it self-throttles concurrent yt-dlp calls.[13]
  • TubeArchivist uses a cron-like minute/hour/day-of-week schedule for its Rescan Subscriptions task, capped at once per hour and recommended once per day; it explicitly warns frequent schedules risk YouTube throttling.[11][12]
  • TubeSync gives each source an index frequency (hourly up to 24h) plus a resolution floor and back-off retries.[16]
  • ytdl-sub has no built-in poller — you wire external cron via a CRON_SCHEDULE env var — but its download-archive + date_range/break_on_existing model makes back-catalog grabs and fast incremental runs explicit.[14][15]
  • MeTube only gained subscriptions in 2026 (it was issue #76 for years): SUBSCRIPTION_DEFAULT_CHECK_INTERVAL defaults to 60 min, scanning the 50 newest entries.[17][18]

Liked-video sync — the hard requirement

Syncing your own Liked Videos (the private LL playlist) or Watch Later is the feature that separates these tools least and stresses them most, because they all solve it the same way: feed yt-dlp an authenticated browser cookie, then treat the private playlist as just another source.

  • TubeArchivist is the most explicit — import a cookie and Watch Later + Liked Videos become regular subscribable, re-pollable playlists; it even validates the cookie by testing whether yt-dlp can read your private Liked Videos list. One cookie per instance, stored in Redis, shared across all users.[19]
  • TubeSync takes a Netscape cookies file (v0.10+); users confirm pulling their Liked Videos with it — "entirely at your own risk."[22]
  • PinchFlat reads /config/extras/cookies.txt with a per-source Cookie Behaviour toggle, but its own wiki now warns yt-dlp discourages YouTube cookies because they can earn an IP ban.[21]
  • MeTube accepts a cookie upload in the web UI; ytdl-sub takes a cookiefile in ytdl_options — but pruning items dropped from the liked playlist is still only an open feature request.[24]

The shared caveats matter more than the tool choice. TubeArchivist warns YouTube invalidates cookies "used outside of a browser" and that the cookie carries your Google access token — treat it like a password.[20] As of 2026, Chrome 127+ app-bound encryption breaks cookie extraction (Firefox's plain SQLite store is the only reliable source), yt-dlp's OAuth2 path for YouTube is deprecated, and exported cookies expire in roughly two weeks.[23] Whatever you pick, plan to re-export cookies regularly and accept some account risk.

Web UI & playback

This is where the field splits hardest. TubeArchivist is the only tool that is a watch experience: an Elasticsearch-backed search across titles, descriptions, subtitles and comments, a built-in player with watched/unwatched tracking, and real multi-user auth (roles, LDAP).[25] The others are management UIs — PinchFlat states outright it is "not meant for consuming content in-app" and delegates playback to Plex/Jellyfin/Kodi/VLC.[3] MeTube and yt-dlp-web-ui are download queues;[1][6] ytdl-sub's only browser surface is a code-server editor for its YAML.[26]

Deployment & media-server fit

The operational split is weight vs. integration. TubeArchivist needs three containers (app + Redis + Elasticsearch 8) and ~2 GB RAM to test, ~4 GB for real use, plus a vm.max_map_count kernel tweak — its standout pain point.[28][33] In exchange it bundles its own player rather than depending on a media server. Everyone else is lighter and feeds an existing library: PinchFlat is a single SQLite container that drops straight into Jellyfin,[31] though Plex can collapse distinct sources into one generic Show despite separate tvshow.nfo files.[29] ytdl-sub emits Kodi/Jellyfin/Plex-ready NFO sidecars via prebuilt TV-show presets;[30] TubeSync syncs into a Plex/Jellyfin library post-download.[5] MeTube is the lightest but stateless — no NFO, no media-server integration.

Community verdict & project health

The self-hosting community's 2026 consensus runs along a complexity axis. TubeArchivist is still the most feature-complete and tops AlternativeTo's recommendation list,[32] but its Elasticsearch weight is the recurring complaint — "make Elasticsearch use less RAM" is a long-running issue thread.[34] That friction is exactly why PinchFlat became the rising star: front-paged on Hacker News as an Elixir-built manager,[37] and praised by reviewers as the lightweight single-container alternative once TubeArchivist "became too complicated"[35] — the same single-container simplicity homelabbers cite for picking it over TubeArchivist's three-container stack.[27] The libhunt head-to-head frames it cleanly: PinchFlat for simple channel/playlist downloading, TubeArchivist when you want full-text search over transcripts and comments.[38] TubeSync stays maintained but carries reported 403 / stuck-download and database-lock complaints from early 2025.[36]

⚠ The universal risk is upstream, not the tool: YouTube's tightening bot detection periodically breaks yt-dlp downloads across all of these projects, so whichever you run, expect occasional cookie re-exports and yt-dlp updates to keep it working.[21][23]

Citations

  1. MeTube — GitHub ⭐ 13.8k (official)
  2. TubeArchivist — GitHub ⭐ 8.1k (official)
  3. PinchFlat — GitHub ⭐ 5.0k (official)
  4. ytdl-sub — GitHub ⭐ 2.8k (official)
  5. TubeSync — GitHub ⭐ 2.7k (official)
  6. yt-dlp-web-ui — GitHub ⭐ 2.5k (official)
  7. YoutubeDL-Material — GitHub ⭐ 3.2k (official)
  8. Tartube — GitHub ⭐ 3.0k (official)
  9. youtube-dl-server — GitHub ⭐ 933 (official)
  10. ViewTube — GitHub ⭐ 1.5k (official)
  11. TubeArchivist — Scheduling docs (official)
  12. TubeArchivist — Channels / Rescan Subscriptions (official)
  13. PinchFlat — FAQ wiki (indexing & filters) ⭐ 5.0k (official)
  14. ytdl-sub — Automating downloads (cron) (official)
  15. ytdl-sub — FAQ (download archive, date_range) (official)
  16. TubeSync — index frequency overview (wiki)
  17. MeTube — subscriptions (README) ⭐ 13.8k (official)
  18. MeTube — issue #76 (auto-download request) ⭐ 13.8k (forum)
  19. TubeArchivist — Application settings (cookie / Liked Videos) (official)
  20. TubeArchivist — FAQ (cookie invalidation, security) (official)
  21. PinchFlat — YouTube Cookies wiki ⭐ 5.0k (official)
  22. TubeSync — using cookies wiki ⭐ 2.7k (official)
  23. 6 Ways to Get YouTube Cookies for yt-dlp in 2026 (vendor-blog)
  24. ytdl-sub — issue #1038 (playlist auto-prune) ⭐ 2.8k (forum)
  25. TubeArchivist — Search docs (official)
  26. ytdl-sub — Docker GUI (code-server) docs (official)
  27. Hacker News — MeTube / single-container discussion (forum)
  28. TubeArchivist — docker-compose / RAM requirements (official)
  29. PinchFlat — issue #880 (Plex NFO quirk) ⭐ 5.0k (forum)
  30. ytdl-sub — TV-show presets (NFO) (official)
  31. XDA — Pinchflat + Jellyfin operator report (news)
  32. AlternativeTo — PinchFlat alternatives (wiki)
  33. TubeArchivist — README (RAM / max_map_count) ⭐ 8.1k (official)
  34. TubeArchivist — issue #102 (Elasticsearch RAM) ⭐ 8.1k (forum)
  35. noted.lol — PinchFlat review (vendor-blog)
  36. TubeSync — issue #1310 (403 / stuck downloads) ⭐ 2.7k (forum)
  37. Hacker News — PinchFlat (Elixir) front page (forum)
  38. LibHunt — PinchFlat vs TubeArchivist (news)

Citations · 38 sources

Click the Citations tab to load…