Social Media Video Downloader Web-based UI
782
GitHub Repository: https://github.com/kavehbc/video-downloaderā
A Streamlit web app for downloading videos from YouTube, X (Twitter), Facebook, Instagram, TikTok, and hundreds of other sites powered by yt-dlpā .
PATHInstall Python dependencies:
pip install -r requirements.txt
streamlit run main.py
Open http://localhost:8501ā in your browser.
docker compose up --build
Open http://localhost:8501ā in your browser.
Downloaded files are stored in a named Docker volume (downloads) and persist across container restarts. To stop:
docker compose down
Add -v to also remove the downloads volume:
docker compose down -v
Build the image first (if not already built):
docker build -t kavehbc/video-downloader:latest .
Then run the container:
docker run -d \
--name video-downloader \
-p 8501:8501 \
-v downloads:/app/static \
--restart unless-stopped \
kavehbc/video-downloader:latest
| Flag | Description |
|---|---|
-d | Run in detached (background) mode |
--name video-downloader | Assign a name to the container |
-p 8501:8501 | Map host port 8501 to container port 8501 |
-v downloads:/app/download | Named volume to persist downloaded files |
--restart unless-stopped | Auto-restart the container unless manually stopped |
Open http://localhost:8501ā in your browser.
To use a local folder instead of a named volume, replace -v downloads:/app/static with a bind mount:
# Linux / macOS
-v /your/local/path:/app/download
# Windows (PowerShell)
-v C:\your\local\path:/app/download
To stop and remove the container:
docker stop video-downloader
docker rm video-downloader
video-downloader/
āāā main.py # Streamlit app (UI + download logic)
āāā requirements.txt # Python dependencies
āāā Dockerfile # Multi-stage Docker image with FFmpeg
āāā docker-compose.yml # Build and run with a single command
āāā download/ # Downloaded files (git-ignored)
āāā .archive.txt # Tracks downloaded playlist video IDs
Any site supported by yt-dlp ā including YouTube, X (Twitter), Facebook, Instagram, TikTok, Vimeo, Twitch, Reddit, and 1000+ moreā . Quality/format options are only shown for YouTube URLs; other sites download at the best available quality automatically.
download/ directory relative to main.py.Content type
Image
Digest
sha256:4ef7a57d4ā¦
Size
335.8 MB
Last updated
about 1 month ago
docker pull kavehbc/video-downloader