YoutubeDL-Material

Self-host a YouTube downloader with a Material Design interface. Download videos, audio, and playlists. Supports Docker, an API, and even Twitch VODs.

Take control of your media by hosting your own YouTube downloader. This tool provides a clean, modern frontend based on Material Design for the powerful youtube-dl, allowing you to save videos and audio directly to your server. Built with Node.js, it offers a reliable and responsive experience for building your personal media archive. The application is packed with features for both casual and power users: * Easy Deployment: Get up and running in minutes with the official Docker image and a simple compose file. * Flexible Downloads: Download single videos, audio-only files, or entire playlists. It also supports downloading Twitch VODs with their chat logs. * Automation Ready: Use the built-in public API to integrate with other services or the handy iOS Shortcut for quick saves on the go. * Polished Library: Automatically embeds thumbnails into audio files for a clean media library experience. * Scalable Backend: For large collections, you can switch from the default JSON database to MongoDB to manage thousands of files without performance degradation. The interface also includes a dark mode for comfortable viewing in any lighting condition.

Directory Structure

youtubedl-material
appdata
audio
db
subscriptions
users
video
.env
docker-compose.yml

docker-compose.yml

services:
  ytdl_material:
    image: tzahi12345/youtubedl-material:latest
    environment:
      ALLOW_CONFIG_MUTATIONS: 'true'
      ytdl_mongodb_connection_string: 'mongodb://ytdl-mongo-db:27017'
      ytdl_use_local_db: 'false'
      write_ytdl_config: 'true'
    restart: always
    depends_on:
      - ytdl-mongo-db
    volumes:
      - ./appdata:/app/appdata
      - ./audio:/app/audio
      - ./video:/app/video
      - ./subscriptions:/app/subscriptions
      - ./users:/app/users
    ports:
      - "17442:17442"

  ytdl-mongo-db:
    image: mongo:4
    logging:
      driver: "none"
    restart: always
    volumes:
      - ./db:/data/db

.env

# No sensitive environment variables are required for the default YoutubeDL-Material setup.
# If you configure external APIs or authentication later, add them here.
Categories:

Share:

Ad
Favicon

 

  
 

Similar to YoutubeDL-Material

Favicon

 

  
  
Favicon

 

  
  
Favicon