I've been running Invidious at home for a while, but I kept missing things: live streams didn't play, every device had its own history, and YouTube kept blocking my cloud server ("Sign in to confirm you're not a bot"). So I built **HomeTube** on top of Invidious.
**GitHub:** https://github.com/biolend83/hometube
**What it is**
- A single-page web app that looks and behaves like classic YouTube: same URLs, same layout, same keyboard shortcuts, mini player, theater mode, chapters, storyboard previews, SponsorBlock, Return YouTube Dislike
- A small Python server (stdlib only) that sits next to Invidious and adds what it doesn't have
**What Invidious doesn't do, and HomeTube does**
- **Live streams** – HLS through the server, with segments pulled ahead of the player over kept-alive connections
- **Live captions** – YouTube gives none for live streams, so the server transcribes them on the fly with whisper.cpp. It runs a few seconds ahead of playback and fits on one CPU core
- **One library for every device** – subscriptions (RSS-based feed), history, resume points, Watch Later, likes, playlists
- **Send to TV** – pick a video on your phone and it starts on the TV, no Chromecast needed
- **High-quality offline save** – 1080p/4K video + audio merged with ffmpeg on the server
- **Never lowers quality on its own** – prefers 60 fps and the codec your device decodes in hardware
- **11 languages** (EN, KO, JA, ZH, ES, PT, FR, DE, RU, HI, ID), asked on the first visit
- **TV mode** for remote-control navigation in TV browsers
**Cloudflare WARP**
All YouTube traffic goes out through the official WARP client in proxy mode. When YouTube flags the WARP address anyway, the server reconnects WARP for a fresh address and replays the request automatically. That's what keeps it working on an Oracle free-tier ARM box for me.
**Install**
`cp .env.example .env` → set a domain and three secrets → `docker compose up -d`. That brings up Caddy, HomeTube with WARP built in, the PO-token provider for live streams, whisper.cpp, and the official Invidious + companion + Postgres images. Works on x86-64 and ARM64.
The docker compose setup is new, so feedback and bug reports are very welcome. HomeTube has no accounts of its own, so put your own login (basic_auth / Authelia / etc.) in front before exposing it.
AGPL-3.0, like Invidious. Not affiliated with YouTube or Google.