Self-hosted web app that automates downloading, organizing, and scheduling YouTube channel content with support for Plex, Kodi, Emby and Jellyfin
Self-hosted web app that automates downloading, organizing, and scheduling YouTube channel content with support for Plex, Kodi, Emby and Jellyfin
Youtarr is a self-hosted YouTube downloader that automatically downloads videos from your favorite channels and playlists. It provides metadata for multiple media servers, mirrors your subscribed YouTube playlists into Plex, Jellyfin, and Emby as native playlists, pulls watch status back from those servers so you can filter your library by what's been watched, and offers optional Plex integration for automatic library refreshes. Learn more at youtarr.com.
Don't want to self-host? You can also run Youtarr on ElfHosted with a managed deployment – see their Youtarr docs.
Like Youtarr? Consider supporting the project on Patreon to help keep it free and actively developed!
https://github.com/user-attachments/assets/a80548fc-bcf9-4ad0-889c-dbd5aac250ee
.m3u file for any other player__kids, __music, __news) to create separate media server libraries.mp4 to .mkv) and trigger a rescan from Settings -> Maintenance & Rescan to reconcile the database; daily and startup scans pick up changes automaticallyG, PG, PG-13, R, NC-17, TV-*). Ratings can be set per-download, via channel defaults, or derived from yt-dlp metadata; they show up as badges and can be used for automated policies.Youtarr predates Pinchflat (first commits May 2023 vs. January 2024); the two arrived at similar solutions independently and have evolved in parallel since. For a side-by-side of where Youtarr, Pinchflat, and Tube Archivist differ on Plex integration, in-app playback, watch-status tracking, content ratings, REST API, filename templating, and transcript search, see the comparison doc.
You'll need Docker, Docker Compose, Git, and a Bash shell (Git Bash on Windows). See the Installation Guide for prerequisites, install methods, initial setup, and updating.
Heads up: Youtarr runs exclusively via Docker; direct
npm start/Node deployments are unsupported.
Want to try unreleased features? See Using Development Builds for the bleeding-edge
dev-latestimage.
Database note for Docker Desktop/ARM/NAS users: Fresh installs started with
./start.shuse Docker named-volume storage for MariaDB. Existing bind-mounted installs and plaindocker compose up -dinstalls may use./database; on virtualized filesystems this can be risky for MariaDB schema migrations. If you seeTable ... doesn't exist in engineorIncorrect information in fileerrors, or if you want to proactively migrate, see Database Management.
Interested in contributing to Youtarr? We welcome contributions of all kinds!
Youtarr is not affiliated with YouTube or Plex. Users are responsible for ensuring their use complies with YouTube's Terms of Service and applicable copyright laws. This tool is intended for personal use with content you have the right to download.
Licensed under the ISC License. See LICENSE.md for details.
Option to only use cookies if needed to download the video
Console logs do not respect the configured timezone with the `TZ` environment variable and defaults to UTC
[feature request] user setting regarding time of automatic video removal
Retry "Video unavailable" downloads without cookies when anonymous extraction succeeds
Write full upload timestamp instead of date-only so Plex doesn't shift dates by one day
Add a way to rename existing files after changing the Video Filename Template
Make the channel-name prefix in embedded MP4 title optional
Delete files inside of tmp directory instead of the entire tmp directory for users with mapped folders on a NAS
yt-dlp output logging
Console logging