Skip to content

📻 Webserver for downloading youtube videos. Ready for docker.

License

Notifications You must be signed in to change notification settings

slurpyb/ytdl-webserver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📻 ytdl-webserver Builds

Webserver for downloading youtube videos. Ready for docker.

Demo

If you have questions, read the blog post.

Demovideo

Installation

As a server

npm install && npm start

As a docker image

Basic

docker run --name ytdl -d -p 3000:3000 algram/ytdl-webserver

Using Compose

Use the provided docker-compose.yml or add it to your own like this:

---
version: "2"
services:
  ytdl:
    image: slurpybeckerman/ytdl-webserver
    container_name: ytdl
    volumes:
      - </path/to/ytdl/temp>:/home/app/public/temp # temp storage for videos
    ports:
      - 3000:3000
    restart: unless-stopped

Advanced

Build the docker image, create a directory to hold and access the downloaded videos on the host, and then start a container instance of the image.

docker build -t <your username>/ytdl-webserver .
mkdir /tmp/videos
docker run --name ytdl -v /tmp/videos:/home/app/public/temp -p 3000:3000 -d <your username>/ytdl-webserver

In the example above, we are creating a directory under /tmp to hold the videos and then specifying a host mount to the container that corresponds to that new directory. You may update this to any path on your host or use a different existing path if you would prefer. The host mount also improves performance as the downloaded files are written to the native host filesystem bypassing the CoW filesystem of the container.

Development

To start contributing you only have to run one command.

npm run dev

This will start webpack and a dev server on localhost:8080

License

MIT

About

📻 Webserver for downloading youtube videos. Ready for docker.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.5%
  • Other 0.5%