Web / REST interface for downloading youtube videos onto a server.
Switch branches/tags
Nothing to show
Clone or download


Docker Stars Shield Docker Pulls Shield GitHub license


Very spartan and opinionated Web / REST interface for downloading youtube videos onto a server. bottle + youtube-dl.


How to use this image

Run on host networking

This example uses host networking for simplicity. Also note the -v argument. This directory will be used to output the resulting videos

docker run -d --net="host" --name youtube-dl -v /home/core/youtube-dl:/youtube-dl kmb32123/youtube-dl-server


There is now a working image based on Alpine linux that is much smaller. This will likely become the main image in the future

docker run kmb32123/youtube-dl-server:alpine

Start a download remotely

Downloads can be triggered by supplying the {{url}} of the requested video through the Web UI or through the REST interface via curl, etc.


Just navigate to http://{{address}}:8080/youtube-dl and enter the requested {{url}}.


curl -X POST --data-urlencode "url={{url}}" http://{{address}}:8080/youtube-dl/q


The server uses bottle for the web framework and youtube-dl to handle the downloading. For better or worse, the calls to youtube-dl are made through the shell rather then through the python API.

This docker image is based on python:3-onbuild and consequently debian:jessie.