Tube Archivist
A self-hosted YouTube archive with search and media management.
About
Tube Archivist is a self-hosted application for downloading, indexing, and managing YouTube videos. It uses Elasticsearch for full-text search across your archived content and provides a Netflix-style web UI for browsing channels and videos. Self-hosting gives you a permanent, searchable personal archive of YouTube content independent of YouTube's availability.
AlternativeTo
Cloud Hosted
| Tool | Open Source | Free Tier | Monthly Cost |
|---|---|---|---|
| YouTube Premium | No | No | From $13.99/mo |
Self Hosted
| Tool | Open Source | Full Features | Notes |
|---|---|---|---|
| yt-dlp | Yes | Yes | CLI only; no web UI or indexing |
| Invidious | Yes | Yes | Proxies YouTube; does not archive locally |
Installation
From kustomize build k8s/apps/talos/tube-archivist:
- Deployments:
tubearchivist(main app),archivist-es(Elasticsearch), and Valkey (Redis) - Images:
bbilly1/tubearchivist(pinned by digest),bbilly1/tubearchivist-es(custom ES),valkey/valkey:9.0.3-alpine - Storage: Longhorn PVC (
cache) for Elasticsearch data; NFS PVs from TrueNAS for downloads and videos - Config:
ES_URL,REDIS_CON,HOST_UID,HOST_GID,TA_HOSTfrom env/secret - Networking: ClusterIP services for app and ES; HTTPRoute via gateway
Administration
- Backups: k8up
Schedulebacks up Elasticsearch Longhorn PVC to Hetzner S3 - OpenID/SSO: No OIDC configuration present in manifests
- Security: Secrets SOPS-encrypted with age; NFS mounts from TrueNAS
Usage
Subscribe to YouTube channels in the UI and trigger downloads. Tube Archivist queues downloads via Redis and stores videos on the NFS share. Search your archive using the Elasticsearch-backed full-text search. Browser extension can queue videos from YouTube directly.
Metadata
- Image:
bbilly1/tubearchivist@sha256:dfe723cf008520e1758ecc3e59e6ea8761dd10d5bb099cd87289e80f5bd66567 - Image:
bbilly1/tubearchivist-es@sha256:9da63fb1973ec3d57daf6916be948eddd0d8a404cc8e447c938480c85fe2c554 - Image:
valkey/valkey:9.0.3-alpine@sha256:e1095c6c76ee982cb2d1e07edbb7fb2a53606630a1d810d5a47c9f646b708bf5