Youtube Downloader UI
This project uses the Nx monorepository tools.
Prerequisites
- Download and install youtube-dl and
ffmpeg and make sure that both tools are
in your
PATH
environment variable. youtube-dl is used for downloading the content and ffmpeg is responsible for converting the videos in the desired format.
Docker Deployment
Create a docker-compose.yml
file with following content
version: '3'
services:
youtube-dl:
image: agrippa1994/youtube-dl-ui
command: ["node", "dist/apps/api/main.js"]
volumes:
- downloads:/usr/share/app/downloads
restart: always
ports:
- 3333:3333
volumes:
downloads:
and start it with docker-compose up -d
. Navigate to the localhost:3333
and the deployment should be finished.
Development
- First install node.js and the yarn package manager.
npm install -g yarn
- Checkout this repository and install all dependencies
yarn install
- Open two terminals and start the backend in the first one
and the frontend in the second one
yarn start api
yarn start youtube-dl
- Navigate with your browser to localhost:4200 and that's it.
Roadmap
- Add support for downloading videos in various formats
- Housekeeping of downloads on the server
- Store download information in the browser (local storage) in order to keep download history