73756574e5b02c9d3772742523965c8eef909e7f
JD → Jellyfin WebGUI (Docker)
Web GUI to:
- paste a URL (e.g. YouTube)
- download via MyJDownloader
- validate video with ffprobe
- compute MD5 locally, upload via SFTP
- verify MD5 on the Jellyfin VM
- cleanup local file + remove JD package/links (best effort)
- optional: TMDB naming, movie/series folders, Jellyfin library refresh
Files
docker-compose.yml– stack.env.example– copy to.envand fill valuesjd-webgui/app.py– FastAPI web appjd-webgui/Dockerfile– includes ffprobe
Setup
- Copy env file:
cp .env.example .env
- Edit
.env:
MYJD_EMAIL,MYJD_PASSWORDJELLYFIN_HOST,JELLYFIN_USER, target dirsSSH_KEY_PATH(absolute path on Docker host)- Optional:
JELLYFIN_API_KEY,TMDB_API_KEY
- Start:
docker compose up -d --build
- Open WebGUI:
http://<docker-host>:${WEBGUI_PORT}
Notes
- JDownloader must be logged into MyJDownloader and appear as an online device.
- If
MYJD_DEVICEis empty, the WebGUI will automatically pick the first available device. - Ensure the SSH user can write to
/jellyfin/Filme(and series dir if used).
Troubleshooting
- Device not found: list devices
docker exec -it jd-webgui python -c "from myjdapi import Myjdapi; import os; jd=Myjdapi(); jd.connect(os.environ['MYJD_EMAIL'], os.environ['MYJD_PASSWORD']); jd.update_devices(); print([d.get('name') for d in jd.devices])"
- Check container can see downloads:
docker exec -it jd-webgui ls -la /output | head
Description
Languages
Python
95.8%
CSS
3.3%
Dockerfile
0.9%