Do you need in-browser playback and full-text search in one app? Or are you feeding content into an existing Plex / Jellyfin / Kodi library?
The only tool that is a YouTube-at-home app: Elasticsearch indexes titles, descriptions, subtitles, and comments; the in-browser player tracks watched state; multi-user auth (roles, LDAP). The cost is three containers — app + Redis + Elasticsearch 8 — and the ~4 GB RAM floor is the canonical reason people switch away. [2] [7]
Single-container Elixir app. Best-in-class download filtering: title regex, cutoff date,
min/max duration, Shorts/livestream toggles, dry-run preview.
Lifecycle scripts
(bash/Python, jq bundled) fire on every event.
Explicitly "not for consuming content in-app" — it feeds your media server.
Front-paged on HN
as the rising alternative to TubeArchivist's complexity.
[3]
[10]
LOGIN_REQUIRED wall
hit all of them at once. Plan for monthly yt-dlp updates and, for unattended operation,
a co-deployed bgutil POT provider ⭐ 559
to mint proof-of-origin tokens on demand.
| Tool | Type | Channel watching | Download filters | Liked video sync | Playback | Media server | Footprint | Health |
|---|---|---|---|---|---|---|---|---|
|
TubeArchivist
⭐ 8.1k
|
Full app | ✓ once/day cron [8] | Shorts/live toggle only [8] | ✓ 1-click extension [9] | ✓ built-in player | Own + Jellyfin plugin |
3 containers
~4 GB
|
Active |
|
PinchFlat
⭐ 5.0k
|
Manager | ✓ interval-based [10] | Regex + date + duration [10] | ✓ cookies.txt ⚠ ban risk [11] | ✗ not for in-app use | Jellyfin / Plex / Kodi [20] |
1 container
SQLite
|
Active |
|
TubeSync
⭐ 2.7k
|
PVR-style | ✓ per-source, ≤24h | Resolution floor only | ✓ Netscape cookies, own risk [24] | ✗ | Plex / Jellyfin |
1 container
low
|
Issues [16] |
|
ytdl-sub
⭐ 2.8k
|
CLI / YAML | ✓ external cron [25] | Full yt-dlp YAML config | ✓ cookiefile, no auto-prune | ✗ no playback | NFO presets (Kodi/Jellyfin/Plex) |
1 container
low
|
Active |
|
MeTube
⭐ 13.8k
|
Queue | ✓ 60-min interval (new 2026) [1] | Top-50 items only | ✓ cookie upload in UI | ✗ download-only | None (stateless) |
1 container
tiny
|
Active |
|
yt-dlp-web-ui
⭐ 2.5k
|
Queue | ✗ no subscriptions | None | Manual playlist URL only | ✗ | None |
1 container
tiny
|
Active |
Stars ≠ archiving fitness. MeTube leads by 70% over TubeArchivist, but it's a download queue with no library or watched-state — most of its stars come from one-off video saving, not channel archiving. TubeArchivist and PinchFlat are purpose-built for the channel-watching + metadata use-case.
LOGIN_REQUIRED bot wall
hit all of them in parallel. Plan for monthly yt-dlp updates.
For unattended operation, deploy a
bgutil POT provider ⭐ 559
alongside your archiver — it mints proof-of-origin tokens on demand.
LL playlist by feeding yt-dlp a browser cookie.
As of 2026: Chrome 127+ app-bound encryption blocks all external cookie readers
(Firefox is the only reliable source);
cookies expire in roughly two weeks when used outside a browser;
a known yt-dlp bug
can return only ~11 items from a large liked playlist in one run.
Re-exporting Firefox cookies every ~10 days is the irreducible manual step.