A web and REST interface for downloading YouTube videos onto a server using yt-dlp or youtube-dl.
youtube-dl-server is a web application that provides a user-friendly interface and REST API for downloading videos from YouTube and other platforms onto a server. It solves the problem of automating video downloads without manual command-line usage by wrapping yt-dlp or youtube-dl in an accessible server-based tool.
Developers, sysadmins, and media enthusiasts who need to automate video downloads on a server, manage download queues remotely, or integrate video downloading into automated workflows.
Developers choose youtube-dl-server because it offers a production-ready, self-hosted solution with both web UI and API access, Docker deployment, and extensive configuration options while leveraging the proven capabilities of yt-dlp/youtube-dl.
Web / REST interface for downloading youtube videos onto a server.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Official Docker images with persistent storage volumes simplify setup and self-hosting, as demonstrated in the README's Docker CLI and Compose examples.
Configurable named profiles allow custom download scenarios like podcasts or lectures, with override options for ydl_parameters, enhancing automation and organization.
Provides a full API for programmatic control, including job queuing, metadata fetching, and file management, enabling seamless integration into automated workflows.
Configurable worker threads support multiple simultaneous downloads, improving efficiency for batch jobs and high-throughput scenarios.
The README does not mention user authentication or access control, making public deployments potentially insecure without additional reverse proxy or manual setup.
Relies on yt-dlp or youtube-dl, which can become outdated or break due to site changes, requiring manual updates and monitoring of upstream tools.
For Python deployments, it requires building the frontend with npm, adding steps and complexity compared to purely Python-based or out-of-the-box solutions.