selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
Yarrtube logo

Self-host Yarrtube

v0.9.6

Self-hosted YouTube playlist and channel synchronizer

BetaOpen SourceMIT
Updated9 hours ago
LanguageRust
Setup difficultyModerate
MobileResponsive
Stars
197
Port
8080 (HTTP web UI and API)
Docker
ghcr.io/sergigp/yarrtube
Install with Docker
Yarrtube web UI screenshot showing the main interfaceYarrtube mobile UI screenshotYarrtube Plex integration screenshot showing TV show layout in Plex

What is Yarrtube?

Yarrtube monitors YouTube playlists and channels, fetching new uploads automatically. It runs in one Docker container with a SQLite database and a simple web interface for managing what to track. Downloaded files are arranged in a TV-show folder structure that Plex, Jellyfin, and Kodi recognize natively, complete with episode artwork and subtitle files pulled from YouTube. The tool is built on yt-dlp and needs a YouTube Data API key to work. Since the app ships without any login system, it should stay on a private network or sit behind a reverse proxy that adds authentication.

Should you self-host Yarrtube?

Yarrtube scores 45/100 on selfhost.directory (how scoring works) and ranks #84 of 118 in Media Server. It has 197 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 727 stars). It scores higher overall, so compare the two before you pick. See Yarrtube vs Jellyfin side by side.

Features

  • Configurable check intervals
  • No authenticationNo built-in auth; keep on LAN or behind reverse proxy
  • Plex Integration
  • Plex scan trigger
  • Subtitle fetching
  • Web UI
  • YouTube channel tracking
  • YouTube playlist tracking

Yarrtube README

How to install Yarrtube

Install Yarrtube with Docker

Docker
Environment variables
YOUTUBE_API_KEY (required), PUID, PGID, YARRTUBE_PORT, YARRTUBE_DB_PATH, YARRTUBE_VIDEOS_PATH, YARRTUBE_DOWNLOAD_CONCURRENCY, YARRTUBE_RETRY_BASE_DELAY_SECONDS, YARRTUBE_AVATARS_PATH, YTDLP_PATH, RUST_LOG, YARRTUBE_PLEX_URL, YARRTUBE_PLEX_TOKEN, YARRTUBE_PLEX_VIDEOS_PATH

docker run -d
--name yarrtube
-e YOUTUBE_API_KEY=your-api-key-here
-e PUID=1000
-e PGID=1000
-p 8080:8080
-v /path/on/host/config:/config
-v /path/on/host/videos:/videos
ghcr.io/sergigp/yarrtube:latest

Requires YouTube Data API v3 key. Mount config and videos volumes. No built-in authentication.

How to configure Yarrtube

  • PGID0 (root)Numeric group ID the daemon runs as and that owns downloaded files

    Numeric group ID the daemon runs as and that owns downloaded files

  • PUID0 (root)Numeric user ID the daemon runs as and that owns downloaded files

    Numeric user ID the daemon runs as and that owns downloaded files

  • RUST_LOGinfoLog verbosity (e.g. RUST_LOG=debug)

    Log verbosity (e.g. RUST_LOG=debug)

  • YARRTUBE_AVATARS_PATH/config/avatarsDirectory channel avatars are stored in (inside the container)

    Directory channel avatars are stored in (inside the container)

  • YARRTUBE_DB_PATH/config/yarrtube.dbPath to the SQLite database (inside the container)

    Path to the SQLite database (inside the container)

  • YARRTUBE_DOWNLOAD_CONCURRENCY2How many videos download at the same time

    How many videos download at the same time

  • YARRTUBE_PLEX_TOKENPlex authentication token (X-Plex-Token)

    Plex authentication token (X-Plex-Token)

  • YARRTUBE_PLEX_URLBase URL of your Plex server (e.g. http://192.168.1.10:32400)

    Base URL of your Plex server (e.g. http://192.168.1.10:32400)

  • YARRTUBE_PLEX_VIDEOS_PATHWhere the Plex server sees yarrtube's videos root

    Where the Plex server sees yarrtube's videos root

  • YARRTUBE_PORT8080HTTP port to listen on

    HTTP port to listen on

  • YARRTUBE_RETRY_BASE_DELAY_SECONDS150Delay before retrying a failed task; it grows exponentially with each further retry

    Delay before retrying a failed task; it grows exponentially with each further retry

  • YARRTUBE_VIDEOS_PATH/videosRoot directory downloaded videos are saved under (inside the container)

    Root directory downloaded videos are saved under (inside the container)

  • YOUTUBE_API_KEYYouTube Data API v3 key (required)

    YouTube Data API v3 key (required)

  • YTDLP_PATH/app/bin/yt-dlpPath to the managed yt-dlp binary

    Path to the managed yt-dlp binary

More in Video Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…