Revise README for improved clarity and setup steps

Updated README to enhance clarity and add setup instructions.
This commit is contained in:
2025-12-31 09:13:06 +01:00
committed by GitHub
parent 7c4857244a
commit 717c1eef75

View File

@@ -1,34 +1,51 @@
# JD → Jellyfin WebGUI (Docker) # JD → Jellyfin WebGUI (Docker)
Web-GUI: Web GUI to:
- Link einfügen (z. B. YouTube) - paste a URL (e.g. YouTube)
- Remote Download via MyJDownloader - download via **MyJDownloader**
- nur gängige Videoformate (Whitelist) - validate video with **ffprobe**
- ffprobe-Validierung (echtes Video) - compute **MD5** locally, upload via **SFTP**
- MD5 lokal + Upload per SFTP + MD5-Verify auf Jellyfin-VM - verify **MD5** on the Jellyfin VM
- Cleanup: lokale Datei + lokale .md5 löschen - cleanup local file + remove JD package/links (best effort)
- Cleanup: JDownloader Paket/Links entfernen (best effort, abhängig vom API-Wrapper) - optional: **TMDB naming**, **movie/series folders**, **Jellyfin library refresh**
## Voraussetzungen ## Files
- Docker + Docker Compose - `docker-compose.yml` stack
- JDownloader-Container (im Compose enthalten) - `.env.example` copy to `.env` and fill values
- Jellyfin läuft auf einer VM (Beispiel: 192.168.1.1) - `jd-webgui/app.py` FastAPI web app
- SSH-Zugang zur Jellyfin-VM - `jd-webgui/Dockerfile` includes ffprobe
- Zielordner auf Jellyfin-VM existiert + Schreibrechte für SSH-User
- Auf Jellyfin-VM muss `md5sum` vorhanden sein (i. d. R. coreutils)
## Quickstart ## Setup
1) Repo klonen oder Dateien anlegen 1. Copy env file:
2) SSH Key vorhanden (empfohlen): ```bash
- auf dem Docker-Host: `~/.ssh/id_ed25519` cp .env.example .env
- Public Key auf Jellyfin-VM in `~/.ssh/authorized_keys` des Upload-Users ```
3) docker-compose.yml anpassen: 2. Edit `.env`:
- MYJD_EMAIL / MYJD_PASSWORD / MYJD_DEVICE - `MYJD_EMAIL`, `MYJD_PASSWORD`
- JELLYFIN_HOST / JELLYFIN_USER - `JELLYFIN_HOST`, `JELLYFIN_USER`, target dirs
- JELLYFIN_MOVIES_DIR / JELLYFIN_SERIES_DIR - `SSH_KEY_PATH` (absolute path on Docker host)
- BASIC_AUTH_USER/PASS (optional) - Optional: `JELLYFIN_API_KEY`, `TMDB_API_KEY`
4) Start: 3. Start:
```bash ```bash
docker compose up -d --build docker compose up -d --build
```
4. Open WebGUI:
- `http://<docker-host>:${WEBGUI_PORT}`
## Notes
- JDownloader must be logged into MyJDownloader and appear as an online device.
- If `MYJD_DEVICE` is 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
```bash
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:
```bash
docker exec -it jd-webgui ls -la /output | head
```