[HowTo] Update Emby-Server, wenn dieser als Dienst läuft

  • Hi zusammen,

    anbei möchte ich euch eine kleine Anleitung geben/zeigen wie ihr den Emby-Server auf einer Windows Umgebung als Dienst laufen lassen könnt und dennoch "automatische" Updates erhaltet. Warum ich automatische in Anführungszeichen gesetzt habe werdet ihr weiter unten lesen können.


    Voraussetzungen

    • Der Emby Server muss bei euch auf dem System installiert sein (welche Version installiert ist ist egal) Download Emby Server
    • Es muss mindestens WIndows 7 SP1/Windows Server 2008 R2 SP1 auf dem System installiert sein
    • Auf dem System muss PowerShell 5 oder höher installiert sein. Entweder wisst ihr es selbst oder könnt es mit meiner bat-Datei (PowerShell Versionschek.zip) überprüfen lassen. Solltet ihr kleiner Version 5 sein, müsst ihr dies aktualisieren, da ansonsten das Skript nicht funktioniert. Download Windows Management Framework 5.0


    Installation

    [warnbox]
    Grundsätzliches:
    Die bat-Dateien sind so geschrieben, dass im Verzeichnis der bat-Datei immer das Skript mit liegen muss welches ausgeführt werden soll, aber niemals mehr als eines.
    Denn die bat-Datei schaut nur in das aktuell Verzeichnis (dort von wo aus sie gestartet wurde) und sucht dort nach einer Datei mit der .ps1-Engung und startet diese dann.
    [/warnbox]

    Die Installation selber ist denkbar einfach, wobei es zwei unterschiedliche Möglichkeiten gibt:

    1. Ausführung der "EmbyServerUpdate.bat".
      1. Bei dieser wird in dem Moment nach einem Versionsupdate geschaut und wenn eines gefunden wird auch installiert.
    2. Ausführung der "EmbyServerUpdate - Install Aufgabenplanung.bat".
      1. Bei dieser wird das gleiche wie bei 1. gemacht und zusätzliche wird eine Aufgabenplanung erstellt. In dieser steht Standardmäßig nur drin, dass täglich um 04:00 Uhr das Script ausgeführt wird und somit automatisch nach einem Update geschaut und installiert wird, wenn vorhanden. Um dies wieder rückgängig zu machen kann man den Task entweder manuell löschen oder man führt die "EmbyServerUpdate - Uninstall Aufgabenplanung.bat" aus.

    [infobox]Leider ist es bei Windows 7 nicht möglich, dass eine Aufgabenplanung über das Skript automatisch erstellt wird. Hier hat Microsoft vergessen (oder mit Absicht) den Befehl hierfür mit hinunter zu portieren. Dies ist erst ab Windows 8 möglich[/infobox]


    Vorgehen:

    Sobald ihr die Voraussetzungen erfüllt, entscheidet ihr euch einfach ob ihr Emby mit einem Final-Release oder einem Beta-Release updaten wollt und ladet euch dafür die entsprechenden Dateien runter.

    Diese packt ihr dann am besten in ein eigenes Verzeichnis:


    [infobox]
    Ich habe gerade gemerkt, dass die bat-Datei immer so heißen muss wie die ps1-Datei.
    Also wenn ihr eine der bat-Dateien ausführen möchtet, mit deren entsprechenden Parametern, dann müsst ihr diese immer dem Namen der Skript-Datei anpassen.
    [/infobox]


    Nun könnt ihr einfach die bat-Datei eures Wunsches starten und die Frage nach den administrativen Rechten bestätigen. Es wird nun ein Abgleich der Versionen (lokal und Github) gestartet. Wird eine neure Version gefunden, wird diese automatisch installiert.
    Der Emby-Dienst wird hierbei automatisch gestoppt und wieder gestartet.

    Ich habe dieses Vorgehen heute mal auf meinem Laptop unter Windows 7 und einem Upgrade vom aktuellen Final Release auf den aktuell Beta Release gemacht und der gesamte Prozess (bat-Datei starten - Emby Server wieder einsatzbereit) hat ca. 2 Minuten gedauert.


    Schlusswort

    Das Skript habe ich nicht selber geschrieben, sondern dies wurde im Emby Forum vom User hatharry dort veröffentlicht.
    Ich habe bei meinem Versuch es zu nutzen nur gemerkt, dass ich an der ein oder anderen Stelle etwas hängen geblieben bin und habe mir daher gedacht, dass es anderen bestimmt auch so gehen wird.

    Solltet ihr hierzu Fragen oder Verbesserungsvorschläge für das HowTo haben, so lasst es mich wissen und ich werde versuchen dies alles nach und nach mit einfließen zu lassen.


    Was wird so alles während dieser Schritte ausgeführt?

    Spoiler anzeigen
    1. Ausführen von "PowerShell Versionschek.bat"
      1. Hier wird in der bat-Datei nur der Befehl "$PSVersionTable" ausgeführt und ausgegeben
    2. Ausführen von "EmbyServerUpdate.bat"
      1. Es wird eine PowerShell Konsole mit administrativen Rechten gestartet
      2. Das Skript "EmbyServerUpdate.ps1" oder "EmbyServerUpdate_Beta.ps1" (je nach Anwendung) wird gestartet
      3. Es wird die installierte Emby Version über die Registrieungsdatei in "HKLM:\SYSTEM\CurrentControlSet\Services\Emby" ermittelt
      4. Es wird die verfügbare Version auf "https://api.github.com/repos/mediabrowser/emby/releases" ermittelt
        1. Bei der "_Beta.ps1" ist der "$_.prerelease -eq $false" Wert in Zeile 22 auf true gesetzt
      5. Die Versionen werden verglichen
      6. Bei einem verfügbaren Update werden die nötigen Dateien automatisch im Verzeichnis "%appdata%\Emby-Server\" unter dem Ordner "updates" gespeichert
      7. Der Emby Dienst wird gestoppt
      8. Die neue Version wird installiert
      9. Der Emby Dienst wird wieder gestartet
    3. Ausführen von "EmbyServerUpdate - Install Aufgabenplanung.bat"
      1. Schritte 1 - 9 wie bei 2. sind identisch
      2. Zudem wird ein Scheduled Task (Aufgabenplanung) erstellt
      3. Die Datei "EmbyServerUpdate.ps1" wird in das Verzeichnis "%appdata%\Emby-Server\" unter dem Ordner "updater" gespeichert
      4. Von dort aus wird das Skript dann über den Scheduled Task täglich um 04:00 Uhr ausgeführt.
  • Vor ab mal eine Frage, wenn ich das richtig verstanden habe, läuft das automatische Update, wenn man Emby über die .exe startet ganz normal. Wenn in der Task Leiste ein Emby Symbol zu finden ist, läuft es als Programm ?

    Wo genau liegt den der Unterschied zwischen App und Service ?

    System Specs ::
    Kodi 20 Nexus, FireTV Cube // Linux Server + Emby // Samsung QN95B

  • @McStarfighter hast du bei dir die Umstellung auf den Dienst schon gemacht?

    Es ist ja nun die neue 3.2.9 Version offiziell released und wenn du noch kein Update bisher gemacht hast könntest du den Dienst nun mal starten und es für dich testen.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • @McStarfighter hast du bei dir die Umstellung auf den Dienst schon gemacht?

    Es ist ja nun die neue 3.2.9 Version offiziell released und wenn du noch kein Update bisher gemacht hast könntest du den Dienst nun mal starten und es für dich testen.

    Derzeit noch nicht, mir ist das vollautomatische Update wichtiger ... Und Vorteile habe ich beim Laufen als Dienst aktuell auch nicht ...

  • Hm was für ein vollautomatisches Update ? Bei mir steht immer nur Update verfügbar manuell installieren und neu starten.

    Kannst du mir verraten wie das voll automatisch funktioniert ? Läuft normal als App, Icon ist in der Task leite zu sehen

    System Specs ::
    Kodi 20 Nexus, FireTV Cube // Linux Server + Emby // Samsung QN95B

  • Hm was für ein vollautomatisches Update ? Bei mir steht immer nur Update verfügbar manuell installieren und neu starten.

    Kannst du mir verraten wie das voll automatisch funktioniert ? Läuft normal als App, Icon ist in der Task leite zu sehen

    http://prntscr.com/eq91h7

    Auf diese Weise bekomme die Updates bei jedem Start des Servers sowie bei Ruhephasen (wenn keine Tasks laufen hat und auch kein Client was abspielt) automatisch eingespielt und der Server wird neu gestartet.

    Finde ich sehr sehr praktisch!

    Ach ja, die zwei Tasks für das Suchen nach Updates für Server und Plugins habe ich auf stündlich eingestellt! ;)

  • Hm finde ich auch und ich meine ich hätte das beim Einrichten auch aktiviert. Komisch muss ich noch mal schauen. Ab und an steht auch mal auf der Webseite, Neustart, manchmal nur Herunterfahren.

    System Specs ::
    Kodi 20 Nexus, FireTV Cube // Linux Server + Emby // Samsung QN95B

  • Hm finde ich auch und ich meine ich hätte das beim Einrichten auch aktiviert. Komisch muss ich noch mal schauen. Ab und an steht auch mal auf der Webseite, Neustart, manchmal nur Herunterfahren.

    Wenn du nur "Herunterfahren" sehen würdest, dann wäre Emby im Service Mode! Dann kann man nämlich nicht vom Dashboard aus restarten ...

  • Hm und wer hat Emby in den Service Mode versetzt ? Ich sehe nämlich nur Herunterfahren, das Icon in der Task ist auch nicht mehr zu sehen.

    Irgendwie lief das Teil wohl als Dienst. Ka warum, ich konnte auch keine automatischen Updates sehen, diesen Punkt gab es nicht. Habe nun Autostart aktiviert, den Server heruntergefahren und über die Desktop App gestartet. Nun konnte ich auch die Updateeinstellungen sehen. Er hat wohl hier auch laut Popups, das ganze nun auf 3.2.9 aktualisiert. Jetzt hoffe ich nur, das sich der Dienst nicht selber startet. Wie könnte ich das überprüfen, unter Dienste und wenn er dort zu finden ist, auf Beenden und Start deaktivieren ?

    So hier steht er nun ::

    [cbox]Die folgenden Komponenten wurden installiert oder aktualisiert:

    MBServer (3.2.9)MBServer (3.2.9)

    Bitte den Server neustarten, um die Aktualisierungen abzuschließen.
    [/cbox]

    Einfach warten ? Hat normalerweise momentan nichts zu tun, oder geht es nicht weil ich im Webinterface bin ?

    EDIT::

    Ich glaube das läuft irgendwie als Dienst mit. Oder ist das so richtig ?

  • Der Dienst ist zwar bei dir vorhanden, aber solange kein Status eingetragen ist, ist der Dienst auch nicht aktiviert.

    Am besten wie folgt vorgehen:

    Den Dienst von Automatisch auf Manuell oder Deaktiviert stellen (wie du willst), dafür sorgen das Emby im Autostart vom Rechner ist und neu starten, dann sollte Emby im normalen Autostart Modus laufen.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!