Skip to content

Pinchflat

Pinchflat is a self-hosted app for downloading YouTube content built using yt-dlp. It's designed to be lightweight, self-contained and easy to use.

References


Make directory

Terminal window
mkdir -p {{DOCKER_PATH_VAR}}/pinchflat/config/extras/yt-dlp-configs \
&& mkdir -p {{DOCKER_PATH_VAR}}/pinchflat/downloads \
&& cd {{DOCKER_PATH_VAR}}/pinchflat

compose.yml

Terminal window
nano compose.yml
compose.yml
services:
pinchflat:
image: ghcr.io/kieraneglin/pinchflat:latest
container_name: pinchflat
user: "1000:1000"
ports:
- 8945:8945
volumes:
- ./config:/config
- ./downloads:/downloads
environment:
- TZ=America/New_York
depends_on:
- pot-provider
restart: unless-stopped
pot-provider:
image: brainicism/bgutil-ytdlp-pot-provider:latest
container_name: pot-provider
init: true
ports:
- 4416:4416
restart: always

base-config.txt

Terminal window
nano ./config/extras/yt-dlp-configs/base-config.txt
base-config.txt
--extractor-args "youtubepot-bgutilhttp:base_url=http://bgutil-provider:4416"
--extractor-args "youtube:player_client=mweb,android;player_skip=webpage,configs"
# without pots
#--extractor-args "youtube:player_client=web_safari,mweb,android;player_skip=webpage,configs"
#--extractor-args "youtubetab:skip=webpage"
#--force-ipv4

Start container

Terminal window
docker compose up -d

Open web ui

http://localhost:8945 or http://{{SERVER_IP_VAR}}:8945