Add overflow:visible to .series-category and .missing-table containers. Add position:sticky with top:64px and z-index:30 to series/missing-series summary elements for persistent header visibility during scroll. Add box-shadow to [open] summary state for visual depth indication when expanded.
Media Max
Datastore
Der Datastore-Tab zeigt den read-only Speicherstatus von /nesflix, Medienkategorien
und den Linux-Software-RAID-Status. Größen-Scans werden standardmäßig 15 Minuten
gecacht; RAID-/Recovery-Werte aktualisieren sich live. Konfigurierbar sind
DATASTORE_PATH, DATASTORE_HOST_PATH, RAID_DEVICE, STORAGE_CACHE_SECONDS und
optional SMART_ENABLED=true für SMART-Healthwerte.
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 media-max 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"