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:
iocage
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.
Damit sieht das Setup lokal so aus:
┌────────────────────────────────────────────┐
│ TrueNAS │
│ ┌────────────────────┐ │
│ │ jails/plex │ │
LAN: 0.0.0.0:32400 ─┼─┼─► plexmediaserver ─┼─► /mnt/daten/medien │
│ └────────────────────┘ │
└────────────────────────────────────────────┘
Es wird ein eigenes Jail benötigt. Hier nehmen wir plex
als Jail Namen.
Login per SSH in das Jail: ssh USERNAME@IP
oder ssh USERNAME@HOSTNAME
, um mit su
root Rechte zu erlangen.
Paketquellen sollten angepasst werden, siehe separater Artikel.
In aller Regel werden eure Filme auf dem Pool von TrueNAS oder im 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.
Mit TrueNAS geht das am einfachsten mit dem ACL Manager (Berechtigungen bearbeiten) des Datensatzes mit den Mediendateien, dem einfach ein lesender (und ggf. schreibender) Benutzer mit der id 972 hinzugefügt wird. Ein Warnhinweis von TrueNAS "Es konnte kein Benutzername zu dieser ID gefunden werden" kann ignoriert werden. Berechtigungen rekursiv übernehmen nicht vergessen!
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 undchmod -R 750 /mnt/daten/medien
erlaubt Benutzer und Gruppe lesenden Zugriff auf Ordner und Dateien oderchmod -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.
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.
Mit TrueNAS geht das am einfachsten in der Jail Verwaltung in dem Punkt "Mount Points". Darin können beliebig viele Ordner angegeben werden die im Jail auftauchen sollen. Als Quelle gebt ihr unser Beispiel /mnt/daten/medien
an und als Ziel dann einen Pfad innerhalb des Jail, z.B. /mnt/jail/plex/root/mnt/medien
. Sollte der medien
Ordner noch nicht existieren: Macht nichts, einfach von Hand im Pfad eintragen, der wird dann automatisch erstellt. Wird das Jail dann später gestartet, werden die Verzeichnisse automatisch eingebunden.
In FreeBSD ist das eigentlich mit einem Befehl erledigt: mount_nullfs /mnt/daten/medien /mnt/jail/plex/root/mnt/medien
.
Hierbei muss der Zielpfad aber bereits existieren (ggf. vorher anlegen mit mkdir -p /mnt/jail/plex/root/mnt/medien
).
Die Schwierigkeit ist nun dafür zu sorgen, dass die Zuweisungen auch einen Neustart überleben.
Am aller einfachsten werden diese in der /etc/fstab
hinterlegt:
# Device Mountpoint FStype Options Dump Pass
/mnt/daten/medien /mnt/jail/plex/root/mnt/medien nullfs rw 0 0
/mnt/daten/musik /mnt/jail/plex/root/mnt/musik nullfs rw 0 0
Am besten wird dies mit BastilleBSD oder iocage verwaltet.
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
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.
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. :)
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".
tbd
Voilá