Post

HomeTube

HomeTube is a web UI for yt-dlp that downloads single videos or whole playlists into a clean folder structure for Plex, Jellyfin or Emby. It picks the best AV1/VP9 quality profile automatically, embeds subtitles, chapters and metadata, marks or removes sponsor segments with SponsorBlock, cuts clips, keeps playlists in sync and can trigger a Jellyfin library refresh after each download.

HomeTube
In Development
This script is currently in active development and may be unstable or incomplete. Use in production environments is not recommended.

Installation

Default install:

1
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/hometube.sh)"
CPU: 2 cores RAM: 1024 MB Disk: 20 GB OS: Debian 13

Notes

HomeTube has no login. Anyone who can reach port 8501 can download to your media folder, so keep it on a trusted network or put it behind a reverse proxy with authentication.
Videos are saved to /opt/hometube_data/videos (VIDEOS_FOLDER), into the destination folder chosen in the UI; playlists get a folder of their own. To write straight into a Plex, Jellyfin or Emby library, bind-mount it there, e.g. pct set [CTID] -mp0 /mnt/media/youtube,mp=/opt/hometube_data/videos, then restart the container. In an unprivileged container the host folder must be writable by UID 100000.
YouTube increasingly needs cookies, even for public videos. Export them with a cookies.txt browser extension and copy the file to /opt/hometube_data/cookies/youtube_cookies.txt, then reload the HomeTube page so it switches to file cookies.
Settings such as LANGUAGE_PRIMARY, VIDEO_QUALITY_MAX, YTDLP_CUSTOM_ARGS or JELLYFIN_BASE_URL/JELLYFIN_API_KEY go in /opt/hometube_data/.env, then run systemctl restart hometube. Temporary files are removed after each download (REMOVE_TMP_FILES_AFTER_DOWNLOAD=true) so videos are not stored twice; set it to false to keep them as a re-download cache.
yt-dlp updates itself on every HomeTube restart and with every update run, since YouTube breaks older versions regularly. YouTube challenges are solved with the installed deno.

Web Interface

Port: 8501

Source code
Loading...