Add officialServiceIcons dictionary mapping service keys to Simple Icons CDN URLs for Radarr, Sonarr, SABnzbd, Jellyfin, Seerr, Prowlarr, Easynews, qBittorrent, Bazarr, Lingarr, and LibreTranslate. Override serviceIconSvg entries with img tags loading brand icons. Add inline styles to SVG fallback icons (19px, stroke styling) and img elements (20px, object-fit contain). Add 500ms interval to reapply icon styles after DOM
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
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.
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:
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:
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"