Add SERVICE_DEFINITIONS list with Radarr, Sonarr, SABnzbd, Jellyfin, Seerr, Prowlarr, Easynews as Indexer, qBittorrent, Bazarr, Lingarr, LibreTranslate, Sonarr-Prowlarr Proxy, Radarr-Prowlarr Proxy, and Dashboard. Add check_service() to perform HTTP/API health checks with configurable timeout. Add refresh_services() to run checks in parallel using service_check_executor ThreadPoolExecutor with 16 workers.
112 lines
3.6 KiB
Markdown
112 lines
3.6 KiB
Markdown
# Radarr Language Dashboard v2
|
|
|
|
## Wichtig: Path-Mapping
|
|
|
|
Radarr kann seine Filme z.B. unter `/data/filme` sehen, während der Host sie unter
|
|
`/nesflix/filme` hat. Das Dashboard unterstützt diese Abbildung explizit:
|
|
|
|
```yaml
|
|
environment:
|
|
RADARR_MEDIA_PATH: "/data/filme"
|
|
LOCAL_MEDIA_PATH: "/media/filme"
|
|
|
|
volumes:
|
|
- /nesflix/filme:/media/filme:ro
|
|
```
|
|
|
|
## Dienststatus
|
|
|
|
Der Dashboard-Tab prüft zusätzlich Jellyfin, Seerr, Prowlarr, Easynews as Indexer,
|
|
qBittorrent, Bazarr, Lingarr, LibreTranslate sowie die Sonarr-/Radarr-Prowlarr-Proxies.
|
|
Die Prüfungen laufen parallel im Hintergrund und blockieren die Seite nicht.
|
|
|
|
Die Standardnamen funktionieren, wenn die Container im selben Docker-Netzwerk liegen.
|
|
Für qBittorrent muss `QBITTORRENT_URL` auf eine aus dem Dashboard-Container erreichbare
|
|
URL zeigen, zum Beispiel `http://host.docker.internal:8080` oder die Host-IP.
|
|
|
|
```env
|
|
JELLYFIN_URL=http://jellyfin:8096
|
|
SEERR_URL=http://seerr:5055
|
|
PROWLARR_URL=http://prowlarr:9696
|
|
EASYNEWS_INDEXER_URL=http://easynews-as-indexer:8081
|
|
QBITTORRENT_URL=http://HOST_ODER_IP:8080
|
|
BAZARR_URL=http://bazarr:6767
|
|
LINGARR_URL=http://lingarr:9876
|
|
LIBRETRANSLATE_URL=http://libretranslate:5000
|
|
SONARR_PROWLARR_PROXY_URL=http://sonarr-prowlarr-proxy:8080
|
|
RADARR_PROWLARR_PROXY_URL=http://radarr-prowlarr-proxy:8080
|
|
SERVICE_CHECK_TIMEOUT=3
|
|
SERVICE_REFRESH_SECONDS=30
|
|
```
|
|
|
|
Für die bereits vorhandenen Container sind keine zusätzlichen Compose-Services nötig;
|
|
sie müssen im gemeinsamen `media-stack_default`-Netzwerk erreichbar sein. Falls
|
|
qBittorrent nicht über `host.docker.internal` erreichbar ist, kann unter Linux je nach
|
|
Docker-Konfiguration dieser Eintrag ergänzt werden:
|
|
|
|
```yaml
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
```
|
|
|
|
Ein Radarr-Pfad wie:
|
|
|
|
`/data/filme/Avatar (2009)/Avatar.mkv`
|
|
|
|
wird dadurch für ffprobe zu:
|
|
|
|
`/media/filme/Avatar (2009)/Avatar.mkv`
|
|
|
|
## Konfiguration
|
|
|
|
Die persönlichen URLs, Pfade und API-Keys liegen in `.env`. Diese Datei ist in `.gitignore` eingetragen und bleibt bei `git pull` erhalten. Als Vorlage dient `.env.example`.
|
|
|
|
Beim ersten Start:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
Danach die Werte in `.env` eintragen. Sonarr und SABnzbd werden dort durch Auskommentieren der jeweiligen Variablen aktiviert. Wenn Sonarr aktiv ist, muss `SERIES_MEDIA_VOLUME` auf den echten Host-Pfad deiner Serien-Library zeigen; dieser Ordner wird in den Dashboard-Container nach `/media/serien` gemountet.
|
|
|
|
## Start
|
|
|
|
API-Keys und Pfade in `.env` anpassen:
|
|
|
|
```bash
|
|
docker compose down
|
|
docker compose up -d --build
|
|
docker compose logs -f
|
|
```
|
|
|
|
Die Seite lädt zuerst die Library-Metadaten. Die ffprobe-Scans laufen danach im Hintergrund; oben wird der Fortschritt angezeigt. Für Sonarr die optionalen Variablen und den Serien-Volume-Mount in `docker-compose.yml` aktivieren. Die Navigation trennt Filme und Serien, Serien sind pro Show aufklappbar.
|
|
|
|
Sonarr benötigt:
|
|
|
|
```yaml
|
|
SONARR_URL: "http://sonarr:8989"
|
|
SONARR_API_KEY: "..."
|
|
SONARR_MEDIA_PATH: "/data/serien"
|
|
LOCAL_SERIES_PATH: "/media/serien"
|
|
```
|
|
|
|
SABnzbd benötigt für den Download-Tab:
|
|
|
|
```yaml
|
|
SAB_URL: "http://sabnzbd:8080"
|
|
SAB_API_KEY: "..."
|
|
```
|
|
|
|
Der API-Key steht in SABnzbd unter `Config > General`. Die laufenden Jobs kommen aus der SABnzbd-Queue, abgeschlossene und fehlgeschlagene Jobs aus der History. Die Sprache eines laufenden Releases wird aus dessen Namen abgeleitet; nach dem Import ist die Sprache im Radarr-/Sonarr-Scan verlässlich.
|
|
|
|
## Bei weiterem Scanfehler
|
|
|
|
Prüfe einen Pfad im Container:
|
|
|
|
```bash
|
|
docker exec -it radarr-language-dashboard sh
|
|
ls -lah /media/filme
|
|
find /media/filme -type f | head
|
|
ffprobe -v error -show_entries stream=codec_type,codec_name:stream_tags=language -of json "/media/filme/DEIN/FILM.mkv"
|
|
```
|