OpenSource-Hub
P

Pinchflat

4.9k stars·Video & Audio Download·SHA-256 checksum verified

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)

Troubleshooting
Why 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.

GitHub Issue #846

Tags

youtubemedia-centerdownloaderself-hosteddockeryt-dlppodcastarchiving

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Install Docker and pull the image: docker pull ghcr.io/kieraneglin/pinchflat:latest

4

Step 2: Create local directories: /data/pinchflat/config and /data/pinchflat/downloads with write permissions

5

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

Install Guide
  1. Step 1: Install Docker and pull the image: docker pull ghcr.io/kieraneglin/pinchflat:latest
  2. Step 2: Create local directories: /data/pinchflat/config and /data/pinchflat/downloads with write permissions
  3. 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
File Integrity

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 Source
Environment Guide

Uninstall 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.

Project Info
LicenseMIT
Last Updated2026-06-27 07:25:35
GitHub Repository

Having issues? Check the FAQ below

1 FAQ

Similar Projects