YTPTube is a web-based GUI for yt-dlp that makes downloading YouTube videos simple through your browser. This guide shows you how to install YTPTube on Ubuntu Linux using Docker and configure it to ensure it stays update including how to download videos with proper codec selection, subtitle integration, and automated folder organisation.
Table of Contents
YTPTube Features
Downloads:
- Multi-download and queue support
 - Live streams and scheduled stream handling
 - Per-link options and download limits
 - Powerful presets system with media server templates
 
Interface:
- Dual mode (technical/simple views)
 - Built-in file browser and video player
 - External subtitle support
 
Automation:
- Schedule channel/playlist downloads
 - Custom feed creation for non-supported sites
 - Conditions-based custom options
 - Apprise notifications (50+ services)
 
Integration:
- Browser extensions and bookmarklets
 - iOS shortcuts support
 - Basic authentication
 
Docker Benefits:
- Auto-updates (yt-dlp and packages)
 - curl-cffi support
 - Bundled PO Token provider
 
Prerequisites
You need Docker and Docker Compose installed on your Ubuntu system. If you don’t have them, follow our Docker and Portainer installation guide.
Quick install:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER
Install YTPTube
Method 1: Docker Compose (Recommended)
Create a directory for YTPTube:
mkdir -p ~/ytptube cd ~/ytptube
Create compose.yaml file:
nano compose.yaml
Add this configuration:
services:
  ytptube:
    user: "${UID:-1000}:${UID:-1000}"
    image: ghcr.io/arabcoders/ytptube:latest
    container_name: ytptube
    restart: unless-stopped
    ports:
      - "8081:8081"
    volumes:
      - ./config:/config:rw
      - ./downloads:/downloads:rw
    tmpfs:
      - /tmp
 Important: Change 1000:1000 to match your user ID and group ID. Find yours with:
id
Save and exit (Ctrl+X, Y, Enter).
Start YTPTube:
mkdir -p ./{config,downloads}
docker compose up -d
 Method 2: Docker Run
Quick one-line installation:
mkdir -p ./{config,downloads} && docker run -d --rm --user "$UID:${GID-$UID}" --name ytptube -p 8081:8081 -v ./config:/config:rw -v ./downloads:/downloads:rw ghcr.io/arabcoders/ytptube:latest
 Access YTPTube: Open browser to http://localhost:8081 or http://YOUR_SERVER_IP:8081
Configure Download Preset
- Open YTPTube interface
 - Click Presets → Add New Preset
 - Fill in: 
- Name: Plex Downloads
 - Command options:
 
 
yt-dlp -S codec:h265 -f bestvideo*+bestaudio/best --write-subs --sub-langs en --convert-subs srt -o %(uploader)s/%(title)s/%(title)s.%(ext)s
- Click Save
 
This preset downloads videos with H.265 codec, English subtitles, organised by channel and video name. Full guide on the commands here.
Download Your First Video
- In YTPTube, click Add Download
 - Paste YouTube URL
 - Select Plex Downloads preset
 - Click Download
 
YTPTube will download the video to ~/ytptube/downloads/files/ organised like:
Channel Name/
└── Video Title/
    ├── Video Title.mp4
    └── Video Title.en.srt
 Schedule Automatic Downloads
To automatically download new videos from channels:
- Click Tasks → Add New Task
 - Configure: 
- Name: Daily Tech Videos
 - URL: 
https://www.youtube.com/@channel/videos - Schedule: 
0 3 * * *(3 AM daily) - Preset: Plex Downloads
 - Auto-start: Yes
 
 - Click Save
 
YTPTube checks the channel daily and downloads new videos automatically.
Integrate with Plex
If you’re using Plex, update compose.yaml to download directly to your Plex library:
volumes: - ./config:/config:rw - /mnt/plex/YouTube:/downloads:rw
Replace /mnt/plex/YouTube with your Plex media path.
Restart YTPTube:
docker compose down docker compose up -d
Set up your Plex library following our Plex repository guide.
Update YTPTube
cd ~/ytptube docker compose pull docker compose up -d
YTPTube auto-updates yt-dlp on container restart.
Next Steps
- Learn yt-dlp commands for advanced usage
 - Check yt-dlp installation guide for command-line use
 - Explore Docker home lab apps
 
That’s it, Enjoy!
 
 