A modern, lightweight, and Dockerized media downloader with a responsive Web UI.
Supporting 1000+ sites (including YouTube, TikTok, Twitter/X, and Instagram) via the power of yt-dlp.
Perfect for downloading videos and music directly to your iOS, Android, or PC.
- Multi-platform support: Works seamlessly on iOS (Safari), Android, and Desktop.
- High Quality: Automatically fetches the best available quality (4K/8K supported).
- Video & Audio: Download as MP4 video or extract MP3 audio.
- Download History: See, re-download, or delete your recent files.
- Always Up-to-Date: Docker image is rebuilt weekly with the latest
yt-dlp. - Dockerized: Easy deployment with a single command.
- Auto-Cleanup: Automatically removes files older than 24 hours.
The easiest way to run PocketDL is using Docker:
-
Clone the repository:
git clone https://github.com/jessepesse/PocketDL.git cd pocket-dl -
Start the service:
docker compose up -d --build
-
Open in browser: Navigate to
http://localhost:5050(or your server's IP).
PocketDL is designed for local use within a private home network. If you intend to expose it to the internet, please consider the following:
- No Built-in Authentication: PocketDL does not currently have a login system. Use a reverse proxy (like Nginx, Traefik, or Caddy) with Basic Auth or OIDC if exposed publicly.
- Server-Side Request Forgery (SSRF): The app fetches content from URLs provided by users. In an untrusted environment, this could be used to probe your internal network.
- Resource Usage: Multiple concurrent high-resolution downloads can consume significant CPU and bandwidth.
Recommendation: Run this behind a VPN (like WireGuard or Tailscale) for secure remote access without exposing ports to the public web.
If you prefer to run it without Docker:
- Install FFmpeg (required for merging video/audio).
- Install requirements:
pip install -r requirements.txt
- Run the app:
python app.py
This project is licensed under the MIT License - see the LICENSE file for details.
