Plex Media Server unter Ubuntu automatisch updaten

IM EINSATZ?

Dann schau dir UNSEREN LOXKURS an und profitiere von unserem Wissen!

Wer den Plex Media Server (PMS) unter OS X oder Windows betreibt, profitiert bereits seit Ende November 2014 von einer eingebauten Logik, welche automatisiert nach Plex-Updates sucht und diese auf Wunsch mit einem Klick installiert. Unter Ubuntu sieht das leider – zumindest derzeitig noch – anders aus. Updates müssen hier manuell von Hand installiert werden, was auf Dauer nervig sein kann, sofern man immer auf dem aktuellen Stand sein möchte. Mit etwas Einrichtungsaufwand per Terminal lässt sich diese praktische Update-Funktion jedoch auch unter Ubuntu nachrüsten, inklusive Update-Benachrichtigung via Push aufs iPhone. Wie das funktioniert und wie der Updatesprozess dabei komplett automatisiert werden kann, so dass keine weiteren manuellen Eingriffe mehr notwendig sind, wird in nachfolgendem Howto gezeigt.

Manuelle Updates

Die einfachste, auf Dauer gleichzeitig aber auch zeitraubendste Methode, ist der manuelle Update des Plex Media Servers per Terminal-Befehl. Dazu benötigt man erst einmal den passenden Download-Link, welcher unter https://plex.tv/downloads -> Linux -> Ubuntu -> 64-Bit zur Verfügung steht.

Plex Media Server Ubuntu 64-Bit

In nachfolgendem Beispiel lautet der Link zur aktuellen Public-Version (Stand 03.05.2015): https://downloads.plex.tv/plex-media-server/0.9.12.0.1071-7b11cfc/plexmediaserver_0.9.12.0.1071-7b11cfc_amd64.deb

Der Terminal-Befehl für die initiale Installation des Plex Media Servers und dessen spätere Updates ist unter Ubuntu identisch. Als erstes wird die aktuelle PMS-Version per wget heruntergeladen und das Installationsfile anschließend gestartet. Wie das funktioniert, zeigt nachfolgender Befehl, welcher lediglich der Veranschaulichung dient und für das weitere Vorgehen nicht notwendig ist.

Manuelles PMS-Update (und initiale Installation):

wget -P /tmp/ --no-check-certificate https://downloads.plex.tv/plex-media-server/0.9.12.0.1071-7b11cfc/plexmediaserver_0.9.12.0.1071-7b11cfc_amd64.deb && sudo dpkg -i /tmp/plexmediaserver_0.9.12.0.1071-7b11cfc_amd64.deb

Die bereits installierte PMS-Instanz wird dabei automatisch gestoppt und nach der Installation auch wieder gestartet. Dabei sind keine weiteren Befehle notwendig.

Ubuntu manuelles PMS-Update per Terminal

Wer den Plex Media Server dennoch einmal manuell stoppen möchte, macht dies mit dem Befehl

sudo service plexmediaserver stop

und starten ihn wieder mit

sudo service plexmediaserver start

Die manuelle Installation des Plex Media Servers kann natürlich auch dann Sinn machen, wenn – aus welchen Gründen auch immer – eine ältere PMS-Version installiert werden soll. Ältere Versionen samt notwendiger Downloadlinks stehen dabei im PMS-Download-Archiv zur Verfügung.

Automatische Updates

Auf Github wird unter https://github.com/mrworf/plexupdate von mrwolf ein fertiges Bash-Script namens “plexupdate.sh” zur Verfügung gestellt, welches perfekt für das Autoupdate herangezogen werden kann. Es sucht nach der derzeitig installierten PMS-Version und stößt ein Update an, sofern eine neuere Version des Plex Media Servers zur Verfügung steht. Im Standard wird die Public-Version installiert, wer möchte kann jedoch aber auch die PlexPass-Version installieren lassen. Zu diesem Zweck müssen u.A. die persönlichen myplex-Zugangsdaten in das bash-Script eingetragen werden, was an dieser Stelle jedoch nicht weiter behandelt werden soll.

Damit das plexupdate-sh-Script ohne große Hürden über das Terminal installiert und regelmäßig (in diesem Fall einmal pro Tag um fünf Uhr morgens) ausgeführt werden kann, habe ich ein kleines Script namens plexupdateInstall.zip (1705 Downloads )  geschrieben, welches zum Download bereitsteht. Es lädt das “plexupdate.sh”-Script herunter und ergänzt einen Eintrag im Crontab, so dass das Script jeden morgen um fünf Uhr nach aktuellen PMS-Versionen sucht und dann etwaige Updates installiert. Das alles geschieht voll automatisch mit dem nachfolgenden Terminal-Befehl.

Automatische Updates aktivieren:

wget -q -P /tmp/ --no-check-certificate https://meintechblog.de/download/plexinstall/plexupdateInstall.zip && sudo unzip /tmp/plexupdateInstall.zip -d /tmp/ && sudo chmod +x /tmp/plexupdateInstall.sh && sudo /tmp/plexupdateInstall.sh

Die entsprechende Ausgabe im Terminal sollte wie folgt aussehen:

plexupdateInstall.sh Ubuntu Terminal-Ausgabe

Sollte man noch kein unzip installiert haben, bekommt man den Fehler “sudo: unzip: command not found” angezeigt und kann unzip mit dem Befehl “sudo apt-get install unzip” nachinstallieren.

Das Update-Script arbeitet übrigens erst dann, sofern der Plex Media Server überhaupt auf dem System installiert ist. Wie das funktioniert, wird in obigem Schritt “Manuelles Update” erklärt.

Ab sofort erfolgt täglich um fünf Uhr morgens ein Scan nach verfügbaren Updates, welche bei Verfügbarkeit automatisch installiert werden.

Um den Updateprozess manuell über das Terminal aufzurufen, um ihn zu testen, kann nachfolgender Terminal-Befehl genutzt werden.

Update-Script manuell starten:

sudo /opt/plexupdate/plexupdate.sh -a -p

Die Ausgabe sieht dabei so aus:

plexupdate Ubuntu Terminal-Ausgabe

Möchte man das Ganze wieder vom System deinstallieren und keine automatischen Updates mehr durchführen, nutzt mein zweites Script namens plexupdateUninstall.zip (1190 Downloads ) , welches mit nachfolgendem Befehl heruntergeladen und ausgeführt wird.

Automatische Updates deaktivieren:

wget -q -P /tmp/ --no-check-certificate https://meintechblog.de/download/plexinstall/plexupdateUninstall.zip && sudo unzip /tmp/plexupdateUninstall.zip -d /tmp/ && sudo chmod +x /tmp/plexupdateUninstall.sh && sudo /tmp/plexupdateUninstall.sh

Die entsprechende Ausgabe im Terminal sollte wie folgt aussehen:

plexupdateUninstall.sh Terminal-Ausgabe

Jetzt sind alle Scripte wieder gelöscht und der Eintrag aus der Crontab entfernt.

Seht es mir bitte nach, dass die bereitgestellten Scripte sicherlich nicht perfekt sind, ich arbeite mich erst nach und nach in bash ein und entsprechend unbeholfen mag das auf erfahrene Programmierer auch wirken. Ich lerne immer gerne dazu, wer also Verbesserungsvorschläge beizutragen hat, kann diese gerne per Kommentar absetzen.

One more thing – Push-Mitteilungen bei Updates

Um das Ganze noch etwas abzurunden, wird eine Push-Mitteilung per Pushover an das Smartphone (und die Smart Watch, hier eine Apple Watch) gesendet, sobald der Plex Media Server aktualisiert wurde. Den Pushover-Dienst habe ich dabei schon einmal im Artikel Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken (Update) vorgestellt.

Nachfolgender Code wird manuell per Texteditor in die Datei “/opt/plexupdate/plexupdate.sh” direkt vor die abschließende Zeile “exit 0” (ohne Anführungszeichen) eingetragen.

Um dies zu tun, kann bspw. nano genutzt werden:

sudo nano /opt/plexupdate/plexupdate.sh

Der Code für die “plexupdate.sh” lautet:

PUSHOVER_USER="uxxxx"
PUSHOVER_TOKEN="xxxxx"
PUSHOVER_TITLE="PMS UPDATE"

if [[ `echo -n $PUSHOVER_USER | wc -c` == 30 && `echo -n $PUSHOVER_TOKEN | wc -c` == 30 ]]; then
FILENAME_VERSION=${FILENAME#*_}
FILENAME_VERSION=${FILENAME_VERSION%_*}
if [ "$FILENAME_VERSION" != "$INSTALLED_VERSION" ]; then
curl -s -F "token=$PUSHOVER_TOKEN" -F "user=$PUSHOVER_USER" -F "title=$PUSHOVER_TITLE" -F "message=PMS $FILENAME_VERSION wurde installiert -bisher: PMS $INSTALLED_VERSION" https://api.pushover.net/1/messages.json
else
curl -s -F "token=$PUSHOVER_TOKEN" -F "user=$PUSHOVER_USER" -F "title=$PUSHOVER_TITLE" -F "message=PMS $FILENAME_VERSION wurde erneut installiert" https://api.pushover.net/1/messages.json
fi
fi

Dabei muss natürlich jeder seinen eigenen 30-stelligen PUSHOVER_USER (hier: uxxxx) und PUSHOVER_TOKEN (hier: xxxxx) ergänzen.

Ist der Code hinterlegt und mit “STRG + o” gespeichert, kann nano wieder mit “STRG + x” beendet werden und die Push-Benachrichtigung sollte ab sofort funktionieren.

PMS Update Pushover iPhone 6

Aus meinem täglichen Leben

Lange Zeit habe ich den Plex Media Server direkt als native QNAP-App auf meinem QNAP TS-670 Ultra und teilweise auch auf einem Intel NUC betrieben, womit ich insgesamt auch sehr zufrieden war. Leider gab es dabei einige Limitationen (z.B. Anfertigung und Zurückspielen von Backups recht unkomfortabel), so dass ich mich entschieden habe die QNAP “Virtualization Station” zu nutzen, um zwei getrennte PMS-Server auf Basis von Ubuntu direkt auf meinem QNAP-NAS aufzusetzen. So kann ich stressfrei zwei separate PMS-Instanzen (u.A. inkl. PlexWatch und PlexWatchWeb) nutzen, welche teilweise mit dem selben Content (deutsch- und englischsprachige Audiostreams) gefüttert werden und die Bibliotheksinhalte dennoch durch abweichende Toneinstellungen (Option: “Tonspuren automatisch wählen”) je nach Server immer automatisch in der jeweils gewünschten Sprache wiedergegeben werden. Weiterhin können die virtuellen Maschinen mit nur einem Klick und innerhalb einiger Minuten über die “Snapshot”-Funktion gesichert und zurückgespielt werden.

Das zentrale Element, was mir bisher jedoch noch fehlte, um einen dauerhaft stressfreien Betrieb sicherzustellen, war die Möglichkeit eines automatischen Updates der PMS-Server auf den virtualisierten Ubuntu-Umgebungen. Da das Plex-Team regelmäßig PMS-Updates bereitstellt, die das System laufend verbessern, war das hier beschriebene automatische Update-Szenario eigentlich schon längst mehr als überfällig. Bisher laufen die Updates über die hier genutzten Scripte ohne Probleme, so dass ich hoffe, dass auch andere dauerhaft von diesen Erkenntnissen profitieren können.

6 Kommentare
  1. Guten Tag

    Erstmal vielen vielen Dank für dieses grandiose Skript und die gut gelungene Anleitung.

    Ich habe dazu eine kleine Frage:
    Ich habe meinen Plex Server auf meinem Raspberry Pi 2 unter Raspian laufen und deswegen müsste bei mir die ARM7 Version von PMS heruntergeladen werden und nicht die Ubuntu Version…
    Leider komme ich selber nicht weiter – könnten Sie mir vielleicht helfen, damit ich das Skript soweit umschreiben könnte, dass es auch für mich funktioniert?

    Ich freue mich auf Ihre Antwort.
    Vielen Dank

    Freundliche Grüsse
    Jonas

    1. Wie es aussieht, haben sich gerade erst die Plex-URLs geändert und das verlinkte Script funktioniert derzeitig nicht mehr ordnungsgemäß. Werde mir das mal bei Gelegenheit genauer ansehen. Bis dahin am besten erstmal manuell updaten.

  2. Hallo, auch ich benutze den Raspberry Pi 2 als Plex Mediaserver und bekomme leider nicht das neue update auf 0.9.15 installiert. Gibt es da schon was neues zu???

    Gruß

    Christian

  3. Guten Tag,

    ich bin diese Woche auf den Blog hier gestoßen, da ich auf einem Pine64 Ubuntu und den PlexServer im Keller installiert habe um über unser Heimnetzwerk auf meine Filme zugriff zu haben.

    Da ich in Sachen Ubuntu / Linux der totale Noob bin, habe ich mich über die Möglichkeit einer automatischen Updatefunktion für den PlexServer sehr gefreut.
    Jedoch scheint etwas nicht ganz zu klappen.

    Anscheinend funktioniert der Download von der angegegbenen Seite https://meintechblog.de/download/plexinstall/plexupdateInstall.zip nicht.
    Versuche ich die Adresse von Hand hier im Browser einzugeben, erhalte ich nur eine Fehlermeldung, dass ich nicht berechtigt wäre auf diese Seite zuzugreifen.
    Kann es sein, dass diese auch beim Versuch des Downloadens bei Ubuntu passiert und es die ZIP-Datei gar nicht herunterladen kann? Ubuntu sagt mir nämlich, dass die Install.zip nicht vorhanden wäre.

    Haben Sie evtl. eine Lösung?

    Mit freundlichen Grüßen
    Karsten Franke

  4. Hey, ich bekomme die Installation an sich hin. Es wird der Ordner unter /opt/plexupdate erstellt mit dem Inhalt plexupdate.sh. Führe ich aber den Testlauf aus, erhalte ich folgende Meldung:

    sudo /opt/plexupdate/plexupdate.sh -a -p

    /opt/plexupdate/plexupdate.sh: Zeile 100: /opt/plexupdate/plexupdate-core: Datei oder Verzeichnis nicht gefunden

    Offensichtlich fehlt da etwas, aber ich kenne mich nicht gut genug mit Linux aus um mir selber zu erschließen, was da schief gelaufen ist. Hilfe?

    Danke schon mal für die Arbeit hier!

    1. Hi,
      nutze das automatische Update schon lange nicht mehr, da ich meinen Plex-Server auf mein QNAP-NAS umgezogen habe. In der Zwischenzeit hat sich viel getan, deshalb kann ich leider nichts Genaues dazu sagen, was der Fehler sein könnte, sorry.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte dir auch gefallen