Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


Zur Organisation und Wiedergabe von Musik und Videos wird Plex verwendet. Plex besteht aus zwei Komponenten, dem Server und den Clients. Die Serverkomponente wird auf dem Homeserver installiert. Hier werden alle Audio- und Videodateien zentral verwaltet und der Mediaserver organisiert.

Die Clients sind die Wiedergabegeräte. Dies kann ein Mediacenter-PC, ein iPhone, ein Android-Smartphone oder ein Fernseher mit Amazon FireTV oder Google Chromecast sein. Diese verbinden sich mit dem Server. Anschließend kann die komplette Mediathek auf dem Client wiedergegeben werden.

Plex ist in einer kostenlosen und in einer kostenpflichtigen Version erhältlich. Vorteil der kostenpflichtigen Version ist vor allem, dass Inhalte auch auf das Smartphone heruntergeladen werden können, um diese offline zu konsumieren. Die Unterschiede zwischen kostenloser und kostenpflichtiger Version werden auf der Homepage von Plex erklärt.

Die Installation und Einrichtung von Plex ist dank der fertigen Installationspakete relativ schnell erledigt.

Um Plex zu nutzen, muss man sich zuerst einen kostenlosen Account auf der plex.tv anlegen.

Plex Mediaserver installieren

Auch der Plex Mediaserver ist als Snap-Paket für Ubuntu verfügbar. Da die Nutzung dieser Version sowohl die Einrichtung vereinfacht, als auch die Sicherheit verbessert, wird in dieser Anleitung der Plex Mediaserver als Snap-Paket installiert. Dies geschieht mit folgendem Befehl.

sudo snap install plexmediaserver

SSL-Zertifikat für den Mediaserver erstellen

Damit die Verbindung zum Plex-Mediaserver über das Internet verschlüsselt erfolgt, muss auch hier ein Verschlüsselungszertifikat eingerichtet werden. Hierfür kann das Zertifikat verwendet werden, dass bereits für Nextcloud erstellt wurde.

Allerdings liegt dieses bisher in einer Form vor, die der Plexserver nicht versteht. Das Zertifikat muss also umgewandelt werden. Außerdem muss auch dieser Umwandlungsprozess automatisiert werden, da das Zertifikat ansonsten nach drei Monaten abläuft und nicht mehr funktioniert.

Als Erstes wird das vorhandene Zertifikat in ein anderes Format konvertiert, das Plex verarbeiten kann. Hier muss jeweils der eigene DynDNS Name angepasst werden und ein Passwort vergeben werden. Der erste Befehl legt einen Ordner an, in welchem das Zertifikat für Plex gespeichert wird. Anschließend wird das bereits vorhandene Zertifikat umgewandelt und im gerade erstellten Ordner gespeichert.

Wichtig: Es handelt sich um einen langen Befehl, der in einer Zeile eingegeben werden muss.

sudo mkdir -p /mnt/storage/plexmediaserver/cert
sudo openssl pkcs12 -export -nodes -out /mnt/storage/plexmediaserver/cert/mimashome.ddns.net.pfx -inkey /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/privkey.pem -in /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/cert.pem -certfile /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/chain.pem -passout pass:meinpasswort

Let’s Encrypt Zertifikate sind immer nur drei Monate gültig, dann muss ein neues Zertifikat ausgestellt werden. Für Nextcloud geschieht dies automatisch. Die Umwandlung des Zertifikats für Plex muss jedoch manuell konfiguriert werden. Zum Glück sieht Certbot, das Programm welches die Zertifikate erzeugt, solche Fälle vor und verarbeitet nach dem Erstellen eines Zertifikats alle Skripte, die unter /var/snap/nextcloud/current/certs/certbot/config/renewal-hooks/ gespeichert sind.

In diesem Schritt wird also ein Skript erstellt, dass die Konvertierung des Zertifikats vornimmt. Das Skript wird in einem Ordner im Homeverzeichnis des aktuellen Users gespeichert. In diesem Ordner wird später auch das Skript für das Backup untergebracht. Anschließend wird das Skript in einen speziellen Ordner von Certbot verlinkt, wodurch es immer dann ausgeführt wird, wenn Certbot ein neues Zertifikat über Let’s Encrypt erzeugt hat.

mkdir ~/skripte

touch ~/skripte/plexcert.sh

chmod +x ~/skripte/plexcert.sh

sudo ln -s ~/skripte/plexcert.sh /var/snap/nextcloud/current/certs/certbot/config/renewal-hooks/post/

Achtung: Es kann sein, dass bei einer Aktualisierung des Nextcloud-Snap-Pakets diese Verknüpfung gelöscht wird. Dann wird das Zertifikat nicht mehr automatisch für Plex erstellt. Daher sollte man nach einem Update des Nextcloud-Snap-Pakets den letzten Befehl erneut ausführen.

Dann wird die Datei mit einem Texteditor geöffnet und folgender Inhalt in die Datei geschrieben. Hier muss wieder die eigene Domain und das gewählte Passwort angepasst werden.

nano ~/skripte/plexcert.sh
#!/bin/bash
sudo openssl pkcs12 -export -nodes -out /mnt/storage/plexmediaserver/cert/mimashome.ddns.net.pfx -inkey /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/privkey.pem -in /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/cert.pem -certfile /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/chain.pem -passout pass:meinpasswort  && snap restart plexmediaserver

Mit Strg+O wird die Datei gespeichert und mit Strg+X der Texteditor wieder geschlossen. Auch hier muss bitte wieder beachtet werden, dass es sich um einen langen Befehl handelt, der nicht mit einem Zeilenumbruch unterbrochen werden darf. Der Inhalt der Datei muss also folgendermaßen aussehen.

Let's Encrypt Zertifikat für Plex automatisch konvertieren

Von nun an wird jedes mal, wenn ein neues Let’s Encrypt Zertifikat für Nextcloud erzeugt wird, automatisch auch eine Version für Plex erstellt.

Plex Mediaserver konfigurieren

Der Plex Mediaserver wird komplett über eine Konfigurationsoberfläche im Webbrowser eingerichtet. Für die Erstkonfiguration wird diese über die lokale IP-Adresse aufgerufen. Später funktioniert auch der Aufruf über die Domain.

http://192.168.30.114:32400/web

Achtung: Da die Verwendung des SSL-Verschlüsselungszertifikats noch nicht im Mediaserver konfiguriert ist, erfolgt die Verbindung noch unverschlüsselt. Bis die Konfiguration abgeschlossen ist, sollte man den Mediaserver nur im eigenen Heimnetzwerk verwenden.

Als Erstes muss man sich mit seinem Plex-Account einloggen. Nach dem Login wird man auf den kostenpflichtigen Plex-Pass hingewiesen, der einige Zusatzfeatures bietet. Das Fenster kann über das „X“ in der Ecke geschlossen werden.

In Schritt 1 muss ein beliebiger Name für den Server vergeben werden. Ich bleibe in diesem Beispiel bei Mimas.

In Schritt 2 werden Mediatheken hinzugefügt. Dies kann auch später noch geändert oder ergänzt werden. Wir legen in diesem Beispiel zwei Mediatheken an. Eine für unsere Audio- und eine für die Videodateien. Entsprechend wird der Typ Filme/Serien oder „Andere Videos“ gewählt.

  • Für die Audiodateien wählen wir Musik.
  • Als Ordner für die Mediathek wird der Pfad zu den eigenen Audiodateien gewählt. Beispielsweise /mnt/storage/shares/media/audio gewählt.
  • Unter Optionen steht uns nur die Möglichkeit eine einfache Musik-Mediathek erstellen zur Verfügung. Für die Premium-Mediathek ist ein kostenpflichtiger Plexpass nötig.
  • Die Einstellungen unter Erweitert können unverändert bleiben.

Die Mediathek wird nun erstellt, die Dateien durchsucht und in die Datenbank des Mediaservers eingetragen. Diese Schritte müssen nun wiederholt werden für alle Medien die über Plex eingebunden und gestreamt werden sollen. Also Audiodateien, Videodateien und Bilder.

In Schritt 3 folgt ein Hinweis auf die zur Verfügung stehenden Apps, die zum Abspielen auf dem Smartphone oder dem Fernseher benötigt werden. Mit einem Klick auf Fertig ist der erste Teil der Konfiguration abgeschlossen.

Nun wird man auf die normale Benutzer- und Konfigurationsoberfkäche von Plex weitergeleitet. Grundsätzlich kann der Mediaserver bereits genutzt werden. Als letzter Schritt sollte nun aber noch die verschlüsselte Verbindung konfiguriert werden.

Dazu geht man in die Servereinstellungen, welche man über das Werkzeugsymbol in der rechten oberen Ecke erreicht. Anschließend wählt man in der linken Seitenleiste den Menüpunkt „Netzwerk“ aus.. Eventuell muss man mit einem Klick auf erweiterte Optionen weitere Felder freischalten. Nun werden folgende Eintragungen vorgenommen.

  • Sichere Verbindung: Bevorzugt, wenn alles funktioniert sollte dies auf Erforderlich umgestellt werden.
  • Eigener Zertifikatsspeicherort: /mnt/storage/plexmediaserver/cert/mimashome.ddns.net.pfx
  • Eigener Zertifikatsschlüssel: Das Passwort welches für das Zertifikat vergeben wurde
  • Eigene Zertifikatsdomain: Die DynDNS Adresse. Hier mimashome.ddns.net

Die weiteren Felder müssen nicht ausgefüllt, bzw. verändert werden. Ganz unten auf der Seite findet man den Button zum Speichern der Einstellungen.

SSL Zertifikat in Plex konfiguriert

Unter dem Punkt Fernzugriff muss nun noch der Zugriff aus dem Internet erlaubt werden und der entsprechende Port angegeben werden. Dazu einen Haken bei „Öffentlichen Port manuell definieren“ setzen und den Port 32400 angeben.

Anschließend auf „erneut versuchen“ klicken. Nach einem kurzen Moment sollte die rote Warnmeldung verschwinden und durch eine grüne Erfolgsmeldung ersetzt werden. Wichtig ist hierzu, dass die entsprechende Portweiterleitung im Router korrekt gesetzt ist.

Plex Fernzugriff konfigurieren

Damit Plex die Änderungen übernimmt und das Zertifikat einliest, muss der Plexserver neu gestartet werden. Dies geschieht mit folgendem Befehl.

sudo snap restart plexmediaserver

Damit ist der Plex Mediaserver auf unserem selbstgebauten NAS bzw. Homeserver auch über das Internet erreichbar.

In die Plexapp, oder den Webbrowser muss ab jetzt folgende Adresse eingegeben werden, um den eigenen Streamingserver zu erreichen

https://mimashome.ddns.net:32400

Wichtig ist das https. Damit wird eine sichere, verschlüsselte Verbindung zum Mediaserver über das Internet aufgebaut.


Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


3 Comments

  1. Hey

    Danke auch für dieses Tutorial, die snap Methode ist interessant. Wie aktiviere ich bei dieser snap Variante die Plugins für Plex.

    Vielen Dank im Vorraus

    LG Dima

    • Niko

      Ich habe nie Plugins mit Plex benutzt. Das kann ich leider nicht beantworten. Sorry.

  2. Hallo Niko,
    ich habe Nextcloud ohne snap installiert. Jetzt kann ich die Pfade bei den Zertifikaten in der Datei nano ~/skripte/plexcert.sh. nicht bei mir entsprechend ändern.
    Ich habe nach dem entsprechenden Pfaden manuell gesucht, aber leider nicht gefunden.
    Kannst Du da helfen?
    Viele Grüße
    Michael