Ziele

Der Betrieb eines Plex Mediaservers ist tatsächlich ziemlich einfach. Der eigentliche Knackpunkt ist die eigene Mediensammlung aus dem Jail heraus zu erreichen.

NEU: Für ganz ungeduldige habe ich einen Konsole only Abschnitt. Da gibts nur Befehle, keine Erklärungen.

Letzte Aktualisierung:

  • 18.01.2026: Überarbeitung. Entfernung von TrueNAS und umschreiben auf reines FreeBSD. Jails mit Bastille
  • 03.03.2024: Kleinigkeiten angepasst
  • 05.01.2024: Kleinere Anpassungen, Englische Version ergänzt
  • 26.03.2023: Kleinere Anpassungen
  • 11.12.2022: Initiales Dokument

Voraussetzungen

Generell sollten solche Dienst in einer eigenen Umgebung eingerichtet werden. Das macht nicht nur die Sicherheit, sondern auch die Wartung wesentlich einfacher. Jails können relativ einfach gesichert werden und es sind nur die Pakete installiert, die absolut notwendig sind.

Diagramm

Damit sieht das Setup lokal so aus:

                    ┌────────────────────────────────────────────┐
                    │  TrueNAS                                   │
                    │ ┌────────────────────┐                     │
                    │ │ jails/plex         │                     │
LAN: 0.0.0.0:32400 ─┼─┼─► plexmediaserver ─┼─► /mnt/daten/medien │
                    │ └────────────────────┘                     │
                    └────────────────────────────────────────────┘

Jail erstellen

Es wird ein eigenes Jail benötigt. Hier nehmen wir plex als Jail Namen.

Jail einrichten

Entweder mit bastile console plex eine Konsole in das erstellte Jail starten, oder es erfolgt ein Login per SSH (wenn aktiviert) mit ssh USERNAME@IP oder ssh USERNAME@HOSTNAME, um dann mit su root Rechte zu erlangen.

Paketquelle anpassen

Paketquellen sollten angepasst werden, siehe separater Artikel.

Berechtigung auf lokale Medien erlauben

In aller Regel werden eure Filme auf dem Pool von FreeBSD Hostsystem liegen. Und damit unterliegen sie auch dessen Berechtigungen. Wenn nun in einem Jail Plex installiert wird, wurde dabei auch ein eigener Plex Benutzer angelegt.

  • Problem: Dieser Benutzer ist dem Hostsystem unbekannt. Ein Zugriff aus dem Jail als Plex Benutzer auf die Dateien im Hostsystem wird an fehlenden Berechtigungen scheitern.
  • Lösung: Wer Lust hat, kann einen Benutzer und Gruppe mit dem Namen "plex" und der id 972 erstellen. Muss aber nicht sein (ist nur Kosmetik). Wichtig ist halt, dass die Dateien mindestens von Plex gelesen (Schreibrechte sind dann ok, wenn Plex sich auch um die Verwaltung der Dateien kümmern soll) werden können. Das geht auch wunderbar nur über die id.

In FreeBSD ohne ACL in einer klassischen UNIX-Berechtigungsstruktur, reicht meist die Anpassung der Gruppe des Medien Ordners und der Dateien mit:

  • chown -R :972 /mnt/daten/medien ändert rekursiv die Gruppenzugehörigkeit auf 972 und
  • chmod -R 750 /mnt/daten/medien erlaubt Benutzer und Gruppe lesenden Zugriff auf Ordner und Dateien oder
  • chmod -R 770 /mnt/daten/medien erlaubt beiden lesenden UND schreibenden Zugriff auf Ordner und Dateien.

Nur ein Beispiel! Das muss halt zu eurem Benutzer & Rechtekonzept passen.

Lokale Medien in Jail einbinden

Gut, die Berechtigungen sollten jetzt passen, aber die Verzeichnisse außerhalb des Jails sind noch nicht sichtbar. Dazu gehört auch unser Beispiel mit dem /mnt/daten/medien. Wie kommt also das /mnt/daten/medien Verzeichnis in das Jail rein? Per NullFS.

Pakete installieren & Dienste aktivieren

Freie Plex Version

Paketquelle mit pkg update aktualisieren und dann die benötigten Pakete installieren: pkg install plexmediaserver Dienste aktivieren und beim Start des Jails automatisch starten: service plexmediaserver enable Da keine Konfigurationsdateien angepasst werden, kann der Dienst direkt gestartet werden: service plexmediaserver start

ODER

Plexpass Version

Paketquelle aktualisieren mit pkg update und dann die benötigten Pakete installieren: pkg install plexmediaserver-plexpass Dienste aktivieren und beim Start des Jails automatisch starten: sysrc plexmediaserver-plexpass=YES Da keine Konfigurationsdateien angepasst werden, kann der Dienst direkt gestartet werden: service plexmediaserver-plexpass start

Plex ist dann unter http://IP:32400 oder http://HOSTNAME:32400 erreichbar.

Achtung: Plex basiert auf Multicast. Damit beim ersten Start die lokale Plex Webseite den dahinterliegenden Plex Server finden kann, MÜSSEN sich beide im gleichen Subnetz befunden.

Medien einbinden

Beim ersten Start fragt der Assistent irgendwann nach einem Ordner mit Filmen, Serien, Musik oder Bildern. Dabei kann nun auf die Ordner verwiesen werden, die oben zur Verfügung gestellt wurden. Mindestens Inhaltstyp und Sprache anpassen, um den Assistenten zu beenden und Plex wird dann automatisch anfangen diese Ordner zu indexieren. Wenn nicht: Berechtigungen prüfen. :)

plex-home

Datenschutz: In der Standard-Konfiguration möchte es Plex auch einfach machen und dafür sorgen, dass auf die lokalen Medien von überall aus zugegriffen werden kann, auch wenn die Firewall etc. noch nicht eingerichtet sind. Dafür benutzt Plex einen Relay Server. Wer im lokalen Setup also eine externe (wenn auch nicht perfekte) Nutzung unterbinden möchte, muss dies explizit mit der Option "Aktiviere Relay" deaktivieren. Zu finden ist der Punkt in den "Einstellungen" im Menüpunkt "Netzwerk".

Konsole

Voilá