A web-based user interface for yt-dlp, allowing easy video downloads from YouTube and other supported platforms.
- Download videos in various formats and qualities
- Extract audio from videos
- Download subtitles
- User-friendly interface for yt-dlp options
- Docker support for easy deployment
- Python 3.8+
- Node.js 18+
- FFmpeg
- Docker and Docker Compose (for Docker deployment)
-
Ensure you have Docker and Docker Compose installed on your system.
-
Clone this repository:
git clone https://github.com/bigsk1/yt-webui.git cd yt-webui
-
Start the application:
-
On Unix-based systems (Linux, macOS):
-
set permission to run using:
chmod +x start.sh
./start.sh
-
On Windows:
start.bat
-
-
Open your web browser and navigate to
http://localhost:3000
to use the application. -
To stop the application:
-
On Unix-based systems (Linux, macOS):
-
set permission to stop using:
chmod +x stop.sh
./stop.sh
-
On Windows:
stop.bat
-
-
Clone the repository:
git clone https://github.com/bigsk1/yt-webui.git cd yt-webui
-
Install backend dependencies:
pip install -r requirements.txt
-
Install frontend dependencies:
npm install
-
Start the backend server:
uvicorn main:app --reload
-
In a new terminal, start the frontend development server:
npm start
-
Open your browser and navigate to
http://localhost:3000
-
Make sure you have Docker and Docker Compose installed on your system.
-
Clone the repository:
git clone https://github.com/bigsk1/yt-webui.git cd yt-webui
-
Build and start the Docker containers:
docker-compose up -d --build
-
Open your browser and navigate to
http://localhost:3000
To start
docker-compose -f docker-compose.external.yml up -d
To stop
docker-compose -f docker-compose.external.yml down
- Enter the URL of the video you want to download in the input field.
- Select your preferred download options (format, quality, etc.).
- Click the "Download" button to start the download process.
- The downloaded files will be saved in the specified output directory of Downloads in the docker folder, if using native app then in Downloads folder of windows user.
On windows if you want to link the Downloads directory of your docker container to your Windows Downloads location run in project root as command prompt admin
mklink /D "%USERPROFILE%\Downloads\yt_downloads" "%CD%\docker\Downloads"
or as Powershell admin
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\Downloads\yt_downloads" -Target "$PWD\docker\Downloads"
Then all your downloaded content will be in your windows Downloads folder in a yt_downloads folder
- Start the containers:
docker-compose up -d
- Stop the containers:
docker-compose down
- View logs:
docker-compose logs
- Rebuild and start the containers:
docker-compose up -d --build
I know the Downloads folder in the docker folder isn't ideal for most but do to windows permission issues with docker trying to map to users downloads folder is an issue, there is work that can be done to allow it but trying to make this setup easy for most users. Hence the double click scripts to get up and going.
you can also just symlink it but running this as admin in in command prompt the project folder
mklink /D "%USERPROFILE%\Downloads\yt_downloads" "%CD%\docker\Downloads"
Contributions are welcome! Please feel free to submit a Pull Request.