Pinchflat
A self-hosted YouTube media manager that automatically downloads content from channels and playlists, designed for media center apps like Plex, Jellyfin, or Kodi.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
Subscribe to YouTube channels and automatically download new videos to your media server.
Core Features
- Single Docker container, no external dependencies
- Powerful naming system for organized storage
- Automatic periodic checking and downloading of new content
- Audio-only downloads and RSS feeds for podcast apps
- SponsorBlock integration to skip sponsored segments
What It Can't Do
- •Pinchflat does not play videos; use a media player or Plex/Jellyfin. Ensure mounted directories are writable by the container user. For network storage (NAS/NFS), prefer local disk for config to avoid I/O issues. Reverse proxy may require extra WebSocket or API path configuration.
Use Cases
- Archive YouTube educational channels or vlogs to local media server
- Automatically download podcast-like channels into a podcast app for offline listening
- Backup curated YouTube playlists locally
Detailed Introduction
Pinchflat is a lightweight, self-hosted application built on yt-dlp that downloads YouTube content automatically. You define rules for channels or playlists, and Pinchflat periodically checks for new videos, downloads them to your local storage, and organizes them with a powerful naming system. It runs in a single Docker container with no external dependencies, providing an easy-to-use web interface. Features include support for audio-only downloads, YouTube Shorts and livestream handling, SponsorBlock integration, automatic redownloads for better quality, scheduled deletion of old media, RSS feeds for podcast apps, and custom yt-dlp options. It's ideal for archiving YouTube content and feeding it into media center apps like Plex, Jellyfin, or Kodi.
Troubleshooting & FAQ (1)
TroubleshootingWhy does Pinchflat save downloaded files with the source file name instead of the video title for non-YouTube sources?
Pinchflat incorrectly uses the source file name as the title variable in the output path template for non-YouTube downloads. As a workaround, manually run yt-dlp with the desired output template, e.g., yt-dlp <url> --output "/downloads/path/%(title)s.%(ext)s". Track issue #846 for when a permanent fix is released.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Step 1: Install Docker and pull the image: docker pull ghcr.io/kieraneglin/pinchflat:latest
Step 2: Create local directories: /data/pinchflat/config and /data/pinchflat/downloads with write permissions
Step 3: Run container: docker run -d -p 8945:8945 -v /data/pinchflat/config:/config -v /data/pinchflat/downloads:/downloads -e TZ=America/New_York ghcr.io/kieraneglin/pinchflat:latest
- Step 1: Install Docker and pull the image: docker pull ghcr.io/kieraneglin/pinchflat:latest
- Step 2: Create local directories: /data/pinchflat/config and /data/pinchflat/downloads with write permissions
- Step 3: Run container: docker run -d -p 8945:8945 -v /data/pinchflat/config:/config -v /data/pinchflat/downloads:/downloads -e TZ=America/New_York ghcr.io/kieraneglin/pinchflat:latest
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
Stop and remove container: docker stop pinchflat && docker rm pinchflat. Delete the local config and downloads directories to remove all data.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
Jellyfin
Free and open-source media system for managing and streaming your personal media collection to any device.
Sunshine
Self-hosted game stream host for Moonlight, supporting AMD, Intel, and Nvidia GPUs with low latency.
srs
Simple, high-efficiency, real-time video server supporting RTMP/WebRTC/HLS/HTTP-FLV/SRT/MPEG-DASH/GB28181 with easy Docker deployment.