iTubeGo

Best Self Hosted Alternatives to iTubeGo

A curated collection of the 17 best self hosted alternatives to iTubeGo.

iTubeGo is a tool for downloading and converting online video and audio from platforms such as YouTube, Facebook and Instagram. It supports MP4/MP3 conversion, playlists, subtitles, batch downloads and saving media for offline use.

Alternatives List

#1
Cobalt

Cobalt

Cobalt is a self-hostable web media downloader for saving publicly accessible videos and audio from supported social platforms via a simple paste-a-link interface and API.

Cobalt screenshot

Cobalt is a web-based media downloader designed to fetch files from publicly accessible content on supported social platforms. It provides a simple paste-a-link workflow via a clean web UI and also exposes an API for integrations.

Key Features

  • Download publicly accessible media by URL (video and audio, depending on the source)
  • Web UI plus a dedicated API service (monorepo includes frontend and backend)
  • No ads or tracking, with a minimal, fast user experience
  • Proxy-style streaming approach and no server-side content caching by default
  • Instance configuration via environment variables, suited for self-hosted deployments

Use Cases

  • Save personal copies of public videos or audio for offline viewing/listening
  • Provide a simple internal “download by link” tool for a team or household
  • Integrate media fetching into other tools via the API (automation or archival workflows)

Limitations and Considerations

  • Intended for downloading only free, publicly accessible content; access-controlled or paid content is not supported
  • Platform compatibility can change as third-party sites update their behavior

Cobalt is a focused, low-friction downloader that pairs a straightforward web interface with an API for programmatic use. It is best suited for users who want a fast, privacy-respecting way to save public media without unnecessary complexity.

38.2kstars
3.1kforks
#2
MeTube

MeTube

A lightweight web interface for yt-dlp (youtube-dl fork) that manages queued downloads, playlists, and filename templates via Docker or local Python/Angular setup.

MeTube screenshot

MeTube is a web-based graphical interface that wraps the yt-dlp (youtube-dl fork) engine to manage video and audio downloads from YouTube and many other websites. It provides a queue, playlist support, configurable filename templates, and environment-driven configuration for containerized or local deployments.

Key Features

  • Web UI for adding and managing downloads, including playlists and per-item options.
  • Queue management with configurable concurrency limits and multiple download modes (sequential, concurrent, limited).
  • Filename and playlist output templating with separate audio/video download directories and postprocessing hooks.
  • Environment-variable configuration for download paths, concurrency, server host/port, URL prefix and HTTPS settings.
  • Support for passing yt-dlp options in JSON and loading options from a monitored file for dynamic changes.
  • Integrations and convenience helpers: browser extensions, bookmarklet, iOS shortcut and examples for reverse-proxy setups.

Use Cases

  • Run a local/private service to batch-download YouTube videos and playlists for offline viewing or archiving.
  • Centralize downloads (audio/video) from multiple sources to a network-mounted storage using a containerized deployment.
  • Provide a simple UI for non-technical users to queue and manage media downloads on a home server or NAS appliance.

Limitations and Considerations

  • Core download functionality depends on the underlying yt-dlp engine; frequent yt-dlp updates are required to keep compatibility with video sites.
  • Some sites or restricted/private content require browser cookies or authentication; users must supply appropriate cookie files or credentials for those cases.
  • MeTube itself is a download UI and relies on external tools (yt-dlp and optionally ffmpeg for custom postprocessing) for actual media fetching and transcoding; those tools must be present/updated when needed.

MeTube is a pragmatic, focused UI for managing yt-dlp workloads. It is designed for easy deployment with Docker or local builds (Node/Angular front end and a Python backend) and prioritizes straightforward configuration, playlist handling, and maintainability in environments where users regularly archive or batch-download web-hosted media.

12.2kstars
836forks
#3
Tube Archivist

Tube Archivist

Tube Archivist is a self-hosted YouTube media server to download, index, search, and watch your archived videos with subscriptions and watch status tracking.

Tube Archivist screenshot

Tube Archivist is a self-hosted application for archiving YouTube content and browsing it like a personal media library. It downloads videos, stores metadata, and provides a web interface to search and play your offline collection.

Key Features

  • Subscribe to YouTube channels and periodically rescan for new videos
  • Download videos via yt-dlp and manage a download queue
  • Index video metadata and enable fast full-text search via Elasticsearch
  • Web UI for playback and library browsing
  • Track watched/unwatched status for your archive
  • Optional integrations such as a companion browser extension and media-server plugins

Use Cases

  • Build a personal offline YouTube library for long-term archiving
  • Maintain searchable collections for research, tutorials, or education
  • Centralize family or team viewing from a shared server

Limitations and Considerations

  • Playback compatibility depends on the chosen codecs and browser support
  • Any download/extraction limitations of yt-dlp also apply
  • Limited flexibility in the naming of downloaded media files

Tube Archivist is well-suited for users who want ownership of their YouTube collection with strong search and library management. It combines automated downloading, indexing, and a convenient playback UI into a single stack.

7.4kstars
350forks
#4
Pinchflat

Pinchflat

Self-hosted YouTube media manager that automates downloads from channels and playlists using rules, storing files on disk for Plex/Jellyfin/Kodi or archiving.

Pinchflat screenshot

Pinchflat is a self-hosted web app for managing and automating downloads of YouTube content. It uses yt-dlp under the hood, runs as a lightweight single-container service, and saves media to disk for use with external players or media servers.

Key Features

  • Rule-based downloading from YouTube channels and playlists with periodic checks for new content
  • Flexible naming and directory templates to organize files to your preferences
  • Web UI with presets for quick setup and day-to-day management
  • Supports audio-only downloads and handling rules for Shorts and livestreams
  • Integration options for media centers such as Plex, Jellyfin, and Kodi via local files
  • Optional RSS feed endpoints for podcast apps
  • Notifications via Apprise
  • SponsorBlock integration
  • Advanced options for custom yt-dlp arguments and lifecycle scripts
  • Optional retention controls such as scheduled re-downloads and automatic deletion of old media

Use Cases

  • Build and maintain an offline archive of channels or playlists
  • Keep a media server library updated with newly published YouTube content
  • Generate audio feeds for podcast-style consumption in a podcast app

Limitations and Considerations

  • Not intended for watching content in-app; it focuses on downloading and organizing files on disk
  • SQLite performance and reliability can be impacted if the config directory is placed on certain network shares

Pinchflat is a good fit when you want hands-off, rules-driven YouTube downloading with predictable file organization. It prioritizes a simple deployment model and interoperability with existing media workflows.

4.4kstars
112forks
#5
pyLoad

pyLoad

Self-hosted download manager with a web UI, link decryption, and plugin-based support for many one-click hosters and file sources.

pyLoad screenshot

pyLoad is a lightweight download manager designed to run on desktops, servers, and NAS devices, controlled primarily through a browser-based web interface. It focuses on automating downloads from many sources via a large, extensible plugin system.

Key Features

  • Web UI for adding, organizing, and monitoring downloads remotely
  • Plugin ecosystem for one-click hosters, decrypters, and add-ons
  • Support for premium account logins and hoster-specific workflows (via plugins)
  • Link decryption and container handling for supported formats (via plugins)
  • Headless operation suitable for servers and low-resource devices
  • REST API with an OpenAPI/Swagger specification for external integrations
  • Optional Click'N'Load-style integration for sending links from the browser

Use Cases

  • Centralized download box on a home server or NAS managed through a web UI
  • Automating downloads from supported file hosters and sources using plugins
  • Integrating downloads into other tools via the REST API

Limitations and Considerations

  • Hoster support and reliability depend heavily on plugins, which may require ongoing maintenance as websites change
  • Some features (captcha solving, SSL, enhanced web performance) may require optional dependencies or external services

pyLoad is a solid choice when you want a web-controlled download manager with broad hoster support and extensibility. Its API and plugin architecture make it especially suitable for unattended and integrated download workflows.

3.7kstars
738forks
#6
YoutubeDL-Material

YoutubeDL-Material

Self-hosted web interface for managing video/audio downloads using youtube-dl, with a Material Design UI, queue management, and an optional public API.

YoutubeDL-Material is a self-hosted web application that provides a modern Material Design interface for downloading and managing video and audio via youtube-dl. It combines an Angular frontend with a Node.js backend and can run as a standard Node app or via Docker.

Key Features

  • Material Design web UI with light/dark themes
  • Download management for video/audio with progress and history
  • Server-side processing that can use common helpers such as FFmpeg
  • Optional MongoDB database backend for improved scaling over JSON-based storage
  • Public REST API with API key support (can be enabled in settings)
  • Docker and Docker Compose deployment support

Use Cases

  • Centralized media downloading tool for a home server or NAS
  • Managing larger download libraries with a database-backed catalog
  • Automating downloads or integrating with other tools through the public API

Limitations and Considerations

  • Functionality depends on external download tools (for example youtube-dl) and their ongoing compatibility with target sites
  • Some advanced post-processing features may require optional system dependencies (for example FFmpeg)

YoutubeDL-Material is well-suited for users who want a browser-based downloader with a clean UI, queue/history management, and optional API/database features for more advanced setups.

3.1kstars
327forks
#7
ytdl-sub

ytdl-sub

CLI tool that orchestrates yt-dlp and FFmpeg with YAML presets to download, convert, tag, and organize media for Plex, Jellyfin, Kodi, Emby and music players.

ytdl-sub screenshot

ytdl-sub is a command-line tool that orchestrates yt-dlp to download media and prepare it for media servers and players. It uses a declarative YAML configuration and preset system to control what to download and how files and metadata are produced.

Key Features

  • Declarative subscriptions and presets written in YAML to describe channels, playlists, formats, and destination library layouts.
  • Wraps and runs yt-dlp for downloads and can remux/transcode using FFmpeg/ffprobe when needed.
  • Rich plugin system (audio_extract, chapters, subtitles, file_convert, embed_thumbnail, music_tags, nfo_tags, video_tags, etc.) to control metadata, tagging, thumbnails, and post-processing.
  • Presets for media server targets and media types (Plex, Jellyfin, Emby, Kodi, music players) to produce naming, NFO files, and metadata formats those servers expect.
  • Scripting and template functions for conditional filtering, custom variables, and fine-grained automation of downloads.
  • Docker images provided (headless and GUI/code-server variant) plus a standalone executable and PyPI package; recommended deployment via Docker Compose or cron for automation.

Use Cases

  • Archive YouTube channels or playlists as TV shows or seasons for Plex/Jellyfin/Emby with server-compatible metadata.
  • Build and tag local music/video libraries (music videos, concerts, SoundCloud/Bandcamp imports) with embedded tags and external NFOs.
  • Automate periodic downloads via scheduled runs (cron/container) to keep a local media library in sync.

Limitations and Considerations

  • Requires external dependencies: Python 3.10+ and FFmpeg/ffprobe; these are mandatory for post-processing and packaging tasks.
  • CLI-first tool aimed at power users; configuration is flexible but has a steeper learning curve than polished web-UIs.
  • Relies on yt-dlp for site extractor correctness; changes to source sites may require updating yt-dlp and the tool's dependencies.

ytdl-sub is focused on providing flexible, reproducible control over media download and metadata generation rather than a one-click consumer UI. It is well-suited for users who need precise filename/metadata control and integration with media servers.

2.7kstars
96forks
#8
TubeSync

TubeSync

TubeSync is a YouTube PVR that automatically indexes channels or playlists, downloads new videos, and updates Plex or Jellyfin with organized local media.

TubeSync screenshot

TubeSync is a personal video recorder (PVR) for YouTube that continuously syncs channels and playlists to local storage. It wraps yt-dlp and FFmpeg behind a simple web interface and scheduled task system, aiming for a hands-off “set and forget” workflow.

Key Features

  • Monitors YouTube channels and playlists on a schedule and downloads new media automatically
  • Separates audio-only and video media into dedicated folders for cleaner library organization
  • Integrates with Plex and Jellyfin to refresh libraries after downloads complete
  • Flexible format/quality selection driven by yt-dlp, with FFmpeg handling media processing
  • Automatic retries with back-off timers for improved reliability during temporary failures
  • Web-based administration UI, with optional basic HTTP authentication via environment variables

Use Cases

  • Build a local, offline-accessible library of favorite YouTube channels in Plex or Jellyfin
  • Archive playlists (e.g., educational series or music) with consistent quality settings
  • Run a lightweight YouTube “Sonarr-like” workflow for households or homelab media servers

Limitations and Considerations

  • Focused on recurring channel/playlist syncing; it is not designed for one-off single video downloads
  • Indexing very large channels too frequently can cause excessive crawling and may lead to throttling
  • The web UI is intentionally minimal and avoids JavaScript, so it does not provide a download progress bar

TubeSync is well-suited for users who want automated, repeatable YouTube downloads with media-server integration. It emphasizes scheduling, reliable retries, and predictable file organization to keep libraries up to date with minimal manual effort.

2.6kstars
147forks
#9
Ganymede

Ganymede

Self-hosted platform to archive Twitch VODs and live streams with real-time chat playback, rendered chat exports, playlists, and channel watching automation.

Ganymede screenshot

Ganymede is a self-hosted archiving platform for Twitch VODs and live streams. It downloads video and chat, provides a real-time chat playback experience, and generates a rendered chat output alongside each archive. Archives are stored in a simple, portable file structure intended to remain usable outside the application.

Key Features

  • Archive Twitch VODs and ongoing live streams
  • Real-time chat playback synchronized with video
  • Rendered chat export for viewing independently of the web UI
  • Watch channels for automatic archiving with filtering options
  • Video and chat processing controls, including custom FFmpeg parameters
  • User, channel, and VOD management with progress saving and playlists
  • Recoverable queue system for downloads and processing jobs
  • Optional SSO via OAuth/OpenID Connect, plus local user management
  • Webhook notifications for events

Use Cases

  • Long-term preservation of Twitch channels, streams, and associated chat
  • Building a personal or community on-prem media archive with metadata and playback
  • Automating stream capture and post-processing workflows for creators

Limitations and Considerations

  • Twitch API credentials are required to download VODs/live streams
  • Storage and bandwidth requirements can be significant for large archives

Ganymede suits homelab and archival-focused setups that want reliable Twitch capture plus a high-fidelity chat replay experience. Its portable output structure and configurable processing make it practical for long-term retention and external playback.

905stars
53forks
#10
Youtarr

Youtarr

Self-hosted web app to auto-download YouTube channels, organize media with metadata, and schedule downloads for Plex, Jellyfin, Emby, and Kodi.

Youtarr is a self-hosted web application for automatically downloading videos from YouTube channels and organizing them into a media-server-friendly library. It uses yt-dlp for fetching content and can generate metadata so downloaded videos appear cleanly in common media servers.

Key Features

  • Subscribe to YouTube channels to automatically download new videos, shorts, and streams
  • Manual URL downloads with pre-validation and metadata preview
  • Media-server-ready organization with NFO files, thumbnails/posters, and embedded MP4 metadata
  • Channel grouping and multi-library folder support for separating collections (for example kids, music, news)
  • Cron-based scheduling for automated download runs
  • Download history and duplicate prevention
  • Optional integrations such as Plex library refresh, SponsorBlock segment skipping, and Discord webhook notifications
  • Responsive web UI plus a REST API with OpenAPI/Swagger support
  • Built-in authentication with admin controls

Use Cases

  • Build an offline, ad-free YouTube library for home media servers
  • Archive channel content to protect against deletions or videos being made private
  • Curate separate libraries for different audiences (family/kids vs. general content)

Limitations and Considerations

  • Designed to run via Docker; direct Node/npm deployments are not supported
  • Downloading content may be subject to platform terms and copyright restrictions

Youtarr fits homelab and media-library workflows where you want automated ingestion, consistent naming/metadata, and optional media server integrations. It can run standalone without requiring Plex, Jellyfin, Emby, or Kodi, while still producing files structured for them.

818stars
27forks
#11
YTPTube

YTPTube

Self-hosted web interface for yt-dlp to download videos, playlists, channels and live streams with queues, presets, scheduling, notifications and a built-in player.

YTPTube is a web-based GUI built around yt-dlp to simplify downloading and managing media from many video platforms. It focuses on queued and concurrent downloads, automation via schedules, and a UI that works for both technical and non-technical users.

Key Features

  • Concurrent downloads with per-extractor and global limits
  • Download support for single videos, playlists, channels, and live/upcoming streams
  • Scheduling for automatic downloads (including monitoring sources via custom feeds)
  • Presets system to apply reusable yt-dlp options, plus per-link overrides
  • Notifications for download events (including Apprise targets)
  • Built-in video player with support for sidecar external subtitles (ffmpeg required in non-Docker setups)
  • Simple file browser to navigate downloaded content
  • Basic authentication
  • Optional integrations for Cloudflare challenges (via FlareSolverr) and yt-dlp impersonation helpers (Docker-focused)

Use Cases

  • Personal media archiving of channels, playlists, and periodic uploads
  • Automated fetching of live streams or scheduled content drops
  • Home server “download box” with presets tailored for media server ingestion

Limitations and Considerations

  • Some functionality is Docker-focused (for example automatic yt-dlp/pip updates and certain bundled helpers)
  • The built-in player subtitle support may require ffmpeg availability depending on installation method

YTPTube is a practical companion to yt-dlp when you want a browser-based workflow, download automation, and repeatable presets. It is well-suited for homelabs and personal servers where multiple downloads and scheduled jobs are required.

787stars
22forks
#12
HomeTube

HomeTube

Self-hosted web interface to download videos and playlists via yt-dlp, process them, and auto-organize into Plex/Jellyfin-ready folders.

HomeTube is a self-hosted web app that helps you download single videos or playlists from many supported sites and organize them into a media-server-friendly library structure. It is designed for homelabs where downloads should land directly in folders scanned by Plex, Jellyfin, or similar tools.

Key Features

  • Web-based UI to download individual videos and playlists
  • Playlist synchronization with ID-based tracking to handle renames and reordering
  • Automatic organization and configurable destination folder structures
  • SponsorBlock integration to skip or mark sponsor/ads segments on supported sources
  • Cookie-based authentication support for improved reliability and access to restricted content
  • Advanced processing options such as clipping, format conversion, subtitle embedding, and audio extraction
  • Quality selection strategies with modern codec prioritization and fallback profiles
  • Support for custom yt-dlp arguments and network options (for example proxies and rate limits)

Use Cases

  • Build a personal, curated offline video library managed by Plex or Jellyfin
  • Keep educational or reference playlists mirrored locally with incremental updates
  • Download and post-process videos (clip, convert, add subtitles) for archiving or playback

Limitations and Considerations

  • Download reliability and available formats depend on upstream platforms and often require cookies for best results
  • Sponsor skipping/marking depends on community-provided SponsorBlock segments and is primarily effective for YouTube

HomeTube is a practical tool for homelabs that want a simple UI on top of yt-dlp with strong library organization and playlist tracking. It fits well when you want downloads to be automatically placed and named for seamless media server ingestion.

591stars
23forks
#13
Trailarr

Trailarr

Tool to discover, download, convert and organize trailers for Radarr and Sonarr-managed media libraries, with a FastAPI backend and Angular UI.

Trailarr is an application that discovers, downloads, converts and organizes trailers for media managed by Radarr and Sonarr. It integrates with multiple instances, follows common media naming conventions, and provides a responsive UI to review and manage trailer files.

Key Features

  • Manages multiple Radarr and Sonarr instances to locate media and associated trailers
  • Detects existing trailers and avoids duplicates
  • Downloads trailers using yt-dlp and processes them with ffmpeg (conversion and trimming)
  • Organizes trailers in media folders following Plex/Emby/Jellyfin naming conventions
  • Customizable profiles for quality, filters and download behavior (including wait times)
  • Responsive Angular frontend for browsing media and managing trailer tasks
  • FastAPI backend with an ASGI server for API-driven operations
  • Docker-based deployment with optional hardware acceleration (VAAPI) for faster transcoding

Use Cases

  • Populate trailers for a Plex, Emby or Jellyfin library managed by Radarr/Sonarr
  • Automatically download and convert trailers for newly added movies or episodes
  • Maintain consistent trailer file naming and formats across multiple media servers

Limitations and Considerations

  • Plex integration for sending notifications and triggering scans is planned but not currently implemented
  • Hardware acceleration support depends on host GPU and driver support (VAAPI for Intel/AMD only)
  • Path mappings and permissions can require manual configuration when containers and media hosts differ

Trailarr is suited for users who want automated, configurable trailer management tightly integrated with Radarr and Sonarr. It focuses on reliability of downloads, file organization, and lightweight processing rather than media server functionality.

332stars
18forks
#14
youtube-dl-server

youtube-dl-server

Self-hosted web and REST interface for downloading videos from YouTube and other sites using yt-dlp or youtube-dl; provides Docker images, configurable profiles, and filesystem output.

A lightweight web and REST frontend for yt-dlp / youtube-dl that runs on a server and saves downloaded media to the host filesystem. It provides both a browser UI and an API for triggering and managing downloads, and is commonly deployed via Docker.

Key Features

  • Web-based user interface plus a REST API for programmatic downloads and integration
  • Supports yt-dlp or legacy youtube-dl backends for broad site support
  • Docker image and docker-compose examples for easy deployment; can also run directly with Python
  • Configurable via a YAML config file including global options, cache and output paths, and a metadata DB path
  • Profiles support to define reusable download option sets (format, audio extraction, output directories, etc.)
  • Saves downloaded files to a host-mounted directory and stores metadata in a local database (configurable path)
  • Bookmarklet and simple curl/fetch examples for one-click or scripted submissions
  • Frontend implemented with a JavaScript framework alongside a Python ASGI backend

Use Cases

  • Centralized server for archiving YouTube videos, podcasts, lectures, and playlists
  • Triggering downloads from other services or browser bookmarklets via the REST API
  • Running scheduled or bulk downloads in a containerized environment with configurable profiles

Limitations and Considerations

  • The project does not bundle HTTPS termination; it is intended to be placed behind a reverse proxy for TLS
  • Upstream youtube-dl releases may be outdated; using yt-dlp is recommended for better site compatibility
  • Some format conversions and audio extraction require external tools such as ffmpeg to be available
  • No built-in authentication or access-control features are documented, so deploy behind an authenticated proxy for public access

In summary, youtube-dl-server provides a simple, Docker-friendly web and API front end to yt-dlp/youtube-dl for managing server-side downloads. It is configuration-driven with profiles and is suitable for automating or centralizing media downloads on a server.

306stars
33forks
#15
ChannelTube

ChannelTube

Fetch and synchronize video or audio from YouTube channels on a schedule using yt-dlp. Runs in Docker and can trigger Plex/Jellyfin library scans.

ChannelTube is a lightweight service for synchronizing and fetching content from YouTube channels using yt-dlp. It provides a web-configurable scheduler and download pipeline to keep a local collection of videos or audio up to date.

Key Features

  • Scheduled sync by hour list (comma-separated hours) with a small scheduling deadband
  • Uses yt-dlp to download video or audio formats with configurable format IDs and fallback codecs
  • Options for subtitles handling (none, embed, external) and selectable subtitle languages
  • Supports cookies file for authenticated/restricted content
  • Docker image and docker-compose support for easy deployment
  • Configurable runtime options: user/group IDs, thread limit, defer hours, include video ID in filenames, verbose logging
  • Optional media server integration: trigger library scans for Plex and Jellyfin after downloads

Use Cases

  • Maintain a local archive of one or more YouTube channels for offline viewing or backup
  • Automatically fetch new uploads and populate a Plex or Jellyfin library for home media servers
  • Extract audio from channel uploads for podcasting or offline listening

Limitations and Considerations

  • Functionality and site compatibility depend on yt-dlp; updates to yt-dlp may be required for continued compatibility
  • May require cookies or authenticated sessions for age-restricted or private content
  • Not a transcoding pipeline; downloaded formats depend on yt-dlp/ffmpeg availability and configured format IDs
  • Scheduling has a noted deadband of up to ~10 minutes from the scheduled start time

ChannelTube is suited for users who want an automated, deployable tool to pull channel content and integrate it into local media workflows. It focuses on reliable fetching and simple media-server integration rather than advanced transcoding or metadata enrichment.

279stars
19forks
#16
ydl_api_ng

ydl_api_ng

Self-hosted HTTP API wrapping yt-dlp for automated video/audio downloads, presets, queue management, hooks and scheduled recordings.

ydl_api_ng is a Python-based HTTP API that exposes yt-dlp functionality for automated downloading and processing of online media. It provides preset-driven configurations, a queue system, optional Redis-backed scheduling, and browser integration via a userscript.

Key Features

  • REST API to enqueue and manage downloads with preset parameter files
  • Full compatibility with yt-dlp options through a flexible parameter system
  • Presets and parameter metadata files generated for easy customization
  • Queue management with optional Redis backend for worker coordination
  • Programmation (scheduling) system for recurring or timed recordings (requires Redis)
  • Hooks for progress and postprocessing to run custom Python scripts during downloads
  • Docker and docker-compose support plus a systemd service file for non-container deployments
  • Browser userscript to trigger downloads from visited pages and integrate presets
  • Configurable UID/GID for filesystem permissions and volume mappings for downloads, params and logs

Use Cases

  • Archive channels, playlists, or livestreams on a schedule for media preservation
  • Provide an internal API for on-demand media downloads and format extraction for other services
  • Integrate browser-based download buttons for team members via the provided userscript

Limitations and Considerations

  • Scheduling/programmation features require Redis to be enabled; without Redis scheduling is not available
  • Precise start times for scheduled jobs have a small known timing drift (about -1 minute tolerance)
  • Many postprocessing features depend on external tools (for example, ffmpeg) and a compatible yt-dlp installation
  • User management is disabled by default; enabling token-based access requires additional configuration

ydl_api_ng is suited for self-hosted environments where automated, configurable media acquisition is required. It emphasizes scriptable presets, extensibility via hooks, and production-ready deployment options via Docker or systemd.

226stars
26forks
#17
MusicService

MusicService

Downloads music from YouTube and other providers, converts to high-quality MP3 with cover art, and uploads to WebDAV-compatible cloud storage like Nextcloud. Dockerized.

MusicService screenshot

MusicService is a Dockerized microservice that synchronizes YouTube playlists and other supported providers with cloud storage by downloading videos, converting them to MP3, adding cover art, and uploading via WebDAV. It runs as a container with a simple web UI and can monitor playlists for new tracks automatically.

Key Features

  • Downloads audio/video from a wide range of sites using youtube-dl/yt-dlp backends
  • Monitors playlists and channels for new items and queues downloads automatically
  • Converts video files to high-quality MP3 using ffmpeg and embeds cover art and basic metadata
  • Uploads resulting MP3s to any WebDAV-compatible cloud storage (Nextcloud, ownCloud, etc.)
  • Tracks already-downloaded songs to avoid duplicates and unnecessary downloads
  • Runs as a Docker container with a web UI (default port 5678) and provided Docker Compose setup

Use Cases

  • Maintain a personal MP3 music library in Nextcloud by automatically syncing selected YouTube playlists
  • Archive and backup favorite mixes or artist uploads to a private cloud drive
  • Automate scheduled or continuous ingestion of new tracks for a home media collection

Limitations and Considerations

  • Functionality depends on upstream downloader and ffmpeg; changes to provider sites can temporarily break downloads
  • Intended for personal/home use; not a scalable enterprise ingestion pipeline
  • Requires a WebDAV-capable storage endpoint and a host capable of running Docker containers

MusicService is a focused tool for automating the download, conversion, and storage of online music sources into a managed MP3 collection on WebDAV storage. It is lightweight to deploy via Docker and is useful for home servers and personal media management.

50stars
6forks

Why choose an open source alternative?

  • Data ownership: Keep your data on your own servers
  • No vendor lock-in: Freedom to switch or modify at any time
  • Cost savings: Reduce or eliminate subscription fees
  • Transparency: Audit the code and know exactly what's running