ydl-web-ui/README.md
2023-02-19 01:48:20 +03:00

76 lines
1.3 KiB
Markdown

![](images/icon.png)
# ydl_api_ng Web UI
This is a shitty Web UI for [ydl_api_ng](https://github.com/Totonyus/ydl_api_ng) — API around [yt-dlp](https://github.com/yt-dlp/yt-dlp).
This UI is written for my personal use and may not have the features you would like to see. I want to gradually expand its capabilities, if there is time for this.
![](images/1.png)
![](images/2.png)
# Roadmap
- [] Add Dockerfile and docker-compose.yml
- [] Handle non-youtube links
- [] Handle unsupported URLs
- [] Advanced settings
- [] Direct link to downloaded video
# Installation
I recomment setup with Docker via [docker-compose.yml](docker-compose.yml).
# Development
Web UI is written on Python in backend and Tailwind CSS for UI.
## Frontend
[Install Node.js](https://github.com/nvm-sh/nvm) and run in project dir:
```
npm install --dev
```
Run Tailwind CSS CLI for autorebuilding style.css:
```
make css
```
## Backend
Prepare Python virtual environment. Using pipenv:
```
pipenv install --dev
```
or:
```
python3 -m venv env
. env/bin/activate
pip install -r requirements.txt
pip install black pylint
```
Set `YDL_API_HOST` environment variable. Put your ydl_api_ng instance URL:
```
export YDL_API_HOST=http://127.0.0.1:5011
```
Run Bottle development server (starts `router.py` with DEBUG):
```
make run
```
Format and lint:
```
make lint
```