Video coming soon…

📥 Setup Pinchflat — Automatic YouTube Channel Archiver

Deploy Pinchflat on Ubuntu — subscribe to YouTube channels and playlists and let the server download every new video automatically, organized for your media server.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script — one command deploys Pinchflat with persistent config and downloads volumes.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/downloads/pinchflat/pinchflat-ubuntu.sh
chmod +x pinchflat-ubuntu.sh
sudo bash pinchflat-ubuntu.sh

Tutorial Steps

1 Download the Script

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/downloads/pinchflat/pinchflat-ubuntu.sh

2 Make it Executable

chmod +x pinchflat-ubuntu.sh

3 Run the Installer

The script installs Docker if needed, then starts the ghcr.io/kieraneglin/pinchflat container with config and downloads volumes under /root/docker/pinchflat, owned by UID/GID 1000.

sudo bash pinchflat-ubuntu.sh

4 Access the Web UI

Open your browser and create your first media profile and source:

http://<your-server-ip>:8945

Ports Used

PortPurpose
8945Web UI

Overview

Pinchflat is a YouTube archiving service built in Elixir on top of yt-dlp, designed around subscriptions instead of one-off downloads. You define Media Profiles (quality, format, output template, whether to grab thumbnails and metadata) and Sources (channels or playlists), and Pinchflat checks each source on a schedule — downloading new uploads automatically to /downloads. This setup runs it on port 8945 with config stored in /config (a SQLite database) and media in /downloads, both persisted under /root/docker/pinchflat. Output filenames and NFO metadata can be shaped for direct consumption by Jellyfin, Plex, or Kodi.

Why Use It

Channels get deleted, videos get taken down, and 'watch later' does not survive any of it. Pinchflat turns YouTube subscriptions into a local, permanent library: point it at the channels you care about once, and every future upload lands on your disk in a media-server-friendly structure. Compared to running yt-dlp cron jobs by hand, you get a UI for managing dozens of sources, per-profile quality rules, download history, and fast indexing that only fetches what is new.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Pinchflat uses a single port, 8945, published 1:1 from the container and opened in UFW by the script. Traffic to YouTube is all outgoing HTTPS, so nothing else needs opening. Because the UI has no login unless you set the basic-auth environment variables, treat 8945 as LAN/VPN-only; use Nginx Proxy Manager with HTTPS and authentication if you want to manage subscriptions from outside your network.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    TubeArchivist is the heavier alternative with full-text search, its own player, and Elasticsearch underneath — more features, more resources. MeTube (also in this Academy) covers the complementary use case of one-off, on-demand downloads. Plain yt-dlp with cron remains viable for people who prefer config files to UIs. ytdl-sub is a popular config-driven middle ground.

                    When Not to Use It

                    For occasional single-video downloads, MeTube is simpler — Pinchflat's profiles and sources are overhead for one-offs. If you want to search inside your archive and stream it from a dedicated interface, TubeArchivist does that; Pinchflat deliberately leaves playback to your media server. And on very tight storage, subscription archiving is the wrong pattern entirely — disks fill fast.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support.

                      Contact Us

                      Frequently Asked Questions

                      How is Pinchflat different from MeTube?

                      MeTube is on-demand: you paste a link, it downloads once. Pinchflat is subscription-based: you register channels or playlists and it keeps downloading new uploads automatically on a schedule. Many home labs run both — MeTube for one-offs, Pinchflat for archives.

                      Can Pinchflat organize files for Jellyfin or Plex?

                      Yes — that is one of its main goals. Media Profiles let you set output path templates (for example channel-based folders), download thumbnails, and write NFO metadata files that Jellyfin, Plex, and Kodi read for titles and artwork.

                      Will it download a channel's entire history?

                      By default a new source is fully indexed and downloaded. To avoid pulling years of backlog, set a download cutoff date on the profile or retention rules (keep last N videos / N days) on the source before it starts.

                      Does Pinchflat have a login?

                      Not by default. You can enable HTTP basic auth by setting the BASIC_AUTH_USERNAME and BASIC_AUTH_PASSWORD environment variables in the compose file, or put it behind an authenticated reverse proxy. Until then, keep port 8945 restricted to your LAN.

                      How often does it check for new videos?

                      Each source has its own check schedule, configurable in the UI. Pinchflat's fast indexing looks only at recent uploads on each pass, so frequent checks (e.g. hourly) stay cheap even across many subscribed channels.