Repolode
EgalitarianMonkey

EgalitarianMonkey/hometube

A Streamlit web UI built on yt-dlp that downloads single videos or playlists and files them into folders that Plex, Jellyfin or Emby can scan.

Open-source alternative to:4K Video Downloader

Stars
1,526
Forks
100
Open issues
6
Last commit
yesterday

What is it?

HomeTube is a self-hosted web app for downloading videos from YouTube and other sites supported by yt-dlp, then moving the finished files into folders that a media server such as Plex, Jellyfin or Emby watches. You paste a URL, choose a destination folder, and the app handles format selection, naming and placement. It can also create new destination folders from the UI.

Downloads pick the best available video and audio formats, with an option to fall back to a second profile or to choose a format manually. SponsorBlock integration can mark or skip sponsor segments on YouTube. Playlists are tracked by video ID, so reordering, renames and removed entries can be synced to a local folder, with removed videos optionally moved to an archive folder instead of deleted.

HomeTube runs as a Docker container or a local Python install, and is configured through environment variables. It supports browser or cookie-file authentication for restricted content, custom yt-dlp arguments, optional clip cutting, subtitle embedding and format conversion, and a Jellyfin library refresh after each download.

Key features

  • 01Downloads single videos and playlists from yt-dlp-supported sites, with best-quality format selection
  • 02Moves finished files into folders that Plex, Jellyfin or Emby can scan, with automatic naming
  • 03Integrates SponsorBlock to mark or skip sponsor segments on YouTube
  • 04Syncs playlists by video ID, with rename detection and optional archiving of removed entries
  • 05Supports browser or cookie-file authentication and custom yt-dlp arguments
  • 06Offers clip cutting, subtitle embedding and format conversion

Use cases

  • Building an ad-free offline video library on a home media server
  • Keeping a local copy of a YouTube playlist in sync with its source
  • Downloading educational or tutorial videos into an organized folder structure for family viewing
  • Running a shared self-hosted downloader on a homelab with Docker

Quick start

  1. 1

    Read the deployment guide and deploy with Docker Compose

Things to know

  • Licensed under AGPL-3.0, a copyleft license that requires derivative works to be shared under the same terms.
  • Reliable downloads depend on setting up cookies authentication, which the README calls highly recommended.
  • The README centres on self-hosting, so you need to run your own server, typically with Docker.

Topics

FAQ

What is hometube?
A Streamlit web UI built on yt-dlp that downloads single videos or playlists and files them into folders that Plex, Jellyfin or Emby can scan. HomeTube is a self-hosted web app for downloading videos from YouTube and other sites supported by yt-dlp, then moving the finished files into folders that a media server such as Plex, Jellyfin or Emby watches. You paste a URL, choose a destination folder, and the app handles format selection, naming and placement. It can also create new destination folders from the UI.
Is hometube free to use? What license does it have?
hometube is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is hometube still maintained?
Actively maintained. The last commit to hometube was on Oct 19, 2026.
What can I use hometube for?
Building an ad-free offline video library on a home media server Keeping a local copy of a YouTube playlist in sync with its source Downloading educational or tutorial videos into an organized folder structure for family viewing Running a shared self-hosted downloader on a homelab with Docker
How do I install hometube?
Read the deployment guide and deploy with Docker Compose
Where can I get hometube?
The source code and installation instructions are on GitHub: https://github.com/EgalitarianMonkey/hometube

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects