Revise README for improved clarity and setup steps
Updated README to enhance clarity and add setup instructions.
This commit is contained in:
69
README.md
69
README.md
@@ -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
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user