youtube-dl-material

youtube-dl-material

Docker app from Selfhosters

Overview

ytdl-material is a full suite UI for yt-dlp. It's coded using Angular 21 for the frontend, and Node.js on the backend. See a list of features here.

ytdl-material logo ytdl-material

Docker pulls badge Docker image size badge Code coverage percentage GitHub issues badge License badge Version badge Dependencies badge

ytdl-material is a full suite UI for yt-dlp. It's coded using Angular 21 for the frontend, and Node.js on the backend. See a list of features here.


ytdl-material interface

Docker

Setup

  1. Download docker-compose.yml:
curl -L https://raw.githubusercontent.com/voc0der/ytdl-material/refs/heads/main/docker-compose.yml -o docker-compose.yml
  1. Start it:
docker compose pull   # if needed
docker compose up -d

Docker environment variables: docker-environment.md. See Wiki for host-specific instructions.

Migration

If migrating from YoutubeDL-Material, download docker-compose-youtubedl-material.yml instead.

Build manually

See the install and build guide.

API

Enable the public API in Settings -> Extra, generate an API key if needed, then enable API docs (restart required) for endpoint details.

Contributing

Review CONTRIBUTING.md for contributor guidelines; pull requests and issues for bugs or feature requests are welcome.

Legal Disclaimer

This project is in no way affiliated with Google LLC, Alphabet Inc. or YouTube (or their subsidiaries) nor endorsed by them.

Star History

Star History Chart

Install youtube-dl-material on Unraid in a few clicks.

Find youtube-dl-material in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for youtube-dl-material Review the template variables and paths Click Install

Download Statistics

41,046
Total Downloads
6,171
This Month
8,432
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
voc0der/ytdl-material:nightly
Last Updated2026-06-18
First Seen2026-04-03

Runtime arguments

Web UI
http://[IP]:[PORT:17442]/
Network
bridge
Privileged
false

Template configuration

WebUIPorttcp

WebUI Port

Target
17442
Default
17442
Audio DownloadsPathrw

Audio Downloads

Target
/app/audio/
Video DownloadsPathrw

Video Downloads

Target
/app/video/
Subscription DownloadsPathrw

Subscription Downloads

Target
/app/subscriptions/
WebUI TitleVariable

Container Variable: ytdl_title_top

Target
ytdl_title_top
Default
YoutubeDL Material
User IDVariable
Target
UID
Default
99
Value
99
Group IDVariable
Target
GID
Default
100
Value
100
AppDataPathrw

Container Path: /app/appdata

Target
/app/appdata
Default
/mnt/user/appdata/youtubedl-material
Advanced Configuration ModeVariable

Allow advanced configuration (true/false)

Target
ytdl_allow_advanced_download
Default
true|false