šļø Freedom for Palestine, Ukraine, Syria, and all nations fighting against tyrants šļø
Free Palestine ⢠Free Syria ⢠Peace for Ukraine
A powerful web-based download manager for YouTube, Vimeo, and thousands of other video sites
Features ⢠Installation ⢠Quick Start ⢠How to Use ⢠Docker ⢠Configuration
services:
yt-dlp-manager:
image: mbnoimi/yt-dlp-manager:latest
container_name: yt-dlp-manager
ports:
- "4000:4000"
volumes:
- ./data:/app/data
- ./logs:/app/backend/logs
environment:
- BACKEND_SECRET_KEY=your-secret-key-change-in-production
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=pass
restart: unless-stopped
Then
docker-compose up -d
docker run -d \
--name yt-dlp-manager \
-p 4000:4000 \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/backend/logs \
-e BACKEND_SECRET_KEY=your-secret-key-change-in-production \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=pass \
--restart unless-stopped \
mbnoimi/yt-dlp-manager:latest
The image is automatically pulled from Docker Hub.
adminpassA datasource combines your download settings with the URLs you want to download.
In the URLs tab:
In the Config tab:
Click the Download button and watch progress in real-time!
Browse, rename, or delete downloaded files in the Files tab.
Some videos require YouTube login. To download them:
Schedule downloads to run automatically:
0 2 * * * = every day at 2 AM)| Expression | Description |
|---|---|
0 2 * * * |
Every day at 2 AM |
0 9 * * 0 |
Every Sunday at 9 AM |
0 */6 * * * |
Every 6 hours |
The admin can:
# Pull and run from Docker Hub
docker-compose up -d
The application is available at http://localhost:4000
| Variable | Default | Description |
|---|---|---|
BACKEND_SECRET_KEY |
- | JWT signing key |
ADMIN_USERNAME |
admin |
Default admin username |
ADMIN_PASSWORD |
pass |
Default admin password |
BACKEND_MAX_CONCURRENT_DOWNLOADS |
3 |
Max parallel downloads |
BACKEND_DEDUPLICATION_ENABLED |
true |
Enable deduplication |
ALLOW_NEW_USERS |
false |
Allow user registration |
yt-dlp Manager/
āāā src/
ā āāā backend/ # FastAPI application
ā ā āāā api/v1/ # API endpoints
ā ā āāā core/ # Config, security, deps
ā ā āāā db/ # Database models & sync
ā ā āāā services/ # Downloader, scheduler
ā ā āāā main.py # Entry point
ā ā
ā āāā frontend/ # Svelte SPA
ā ā āāā src/
ā ā ā āāā lib/ # Components, pages, stores
ā ā ā āāā App.svelte # Root component
ā ā ā āāā main.ts # Entry point
ā ā āāā package.json
ā ā
ā āāā data/ # User data
ā āāā <username>/
ā āāā downloads/ # Downloaded files
ā āāā configs/ # Config JSON files
ā āāā urls/ # URL JSON files
ā
āāā docker-compose.yml # Docker deployment
āāā .env # Configuration
We welcome contributions! Here's how you can help:
git checkout -b feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Made with ā¤ļø by a Syrian developer who believes in freedom for Palestine, Ukraine, Syria, and any nation standing against tyrants
ā Star this repo if you find it useful!