nessi a90b516f49 fix: replace glob() with iterdir() in external_subtitle_files() to handle square brackets in media filenames
Replace glob pattern matching with iterdir() + startswith() filtering to avoid glob interpreting square brackets (e.g., [Bluray-1080p]) as pattern characters. Add OSError exception handling to return empty list when directory access fails.
2026-08-14 14:32:28 +02:00

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:

environment:
  RADARR_MEDIA_PATH: "/data/filme"
  LOCAL_MEDIA_PATH: "/media/filme"

volumes:
  - /nesflix/filme:/media/filme:ro

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:

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:

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:

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:

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:

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"
S
Description
No description provided
Readme
2.8 MiB
Languages
HTML 65.4%
Python 33.8%
JavaScript 0.6%
Dockerfile 0.2%