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.
Downloads:
Interface:
Automation:
Integration:
Docker Benefits:
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
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
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
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
This preset downloads videos with H.265 codec, English subtitles, organised by channel and video name. Full guide on the commands here.
YTPTube will download the video to ~/ytptube/downloads/files/ organised like:
Channel Name/
└── Video Title/
├── Video Title.mp4
└── Video Title.en.srt
To automatically download new videos from channels:
https://www.youtube.com/@channel/videos0 3 * * * (3 AM daily)YTPTube checks the channel daily and downloads new videos automatically.
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.
cd ~/ytptube docker compose pull docker compose up -d
YTPTube auto-updates yt-dlp on container restart.
That’s it, Enjoy!