Update Node.js von Homebridge im Docker

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
Hallo zusammen,
ich betreibe Homebridge auf meiner DS720+ im Docker. Aktuell läuft hier Alpine Linux (3.12.9) mit Node.js Version v.16.14.0.

Nun steht ein Plugins Update an und ich bekomme die Info, dass Node.js Version 16.20.x oder höher empfohlen wird. In Alpine Linux wird der Befehl hb-service update-node nicht unterstützt. Mittlerweile sind wir anscheinend bei Node.js 18.x. Zudem habe ich gelesen, dass Alpine Linux gar nicht mehr supported wird und man besser eine andere Version (z.B. Ubuntu) installieren sollte.

Wie ich jetzt im Netz gelesen habe, wäre es in diesem Fall ratsam den Docker neu aufzusetzen und das Paket Homebridge in einer aktuellen Version neu zu installieren und ein Backup wieder einzuspielen.

Hat jemand damit Erfahrung und kann mir helfen? Ich habe ehrlich gesagt Angst, meine Homebridge Konfiguration komplett zu zerschießen und mir am Ende alles neu einrichten zu müssen, was bei meiner Heimautomation bisschen Aufwand ist.

Danke für jede Hilfe.

Viele Grüße
Christian
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Homebridge hat doch eine Backup-Funktion, wenn ich mich nicht irre? Bei ioBroker gab es eine Möglichkeit, Node.js auch aus dem Container zu updaten, vielleicht gibt es die Möglichkeit auch bei Homebridge.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Welches Image benutzt du, oder hast dir selber was gebaut?
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
Homebridge hat doch eine Backup-Funktion, wenn ich mich nicht irre? Bei ioBroker gab es eine Möglichkeit, Node.js auch aus dem Container zu updaten, vielleicht gibt es die Möglichkeit auch bei Homebridge.
Das dachte ich auch - aber bei Alpine Linux wie gesagt nicht möglich. Ich sollte Homebridge z.B. mit Ubuntu neu aufsetzen. Mit Ubuntu Linux ist ein Update von Node.js auch aus dem Container raus über die Konsole möglich.
Backup ja, aber funktioniert die Homebridge einfach wieder wenn ich das Backup in einen neuen Container einspiele?
Welches Image benutzt du, oder hast dir selber was gebaut?
homebridge-config-ui-x v4.50.2 / oznu
Ist es das, was du mit Image meinst?

Ich habe leider keinen Plan von Docker und mache das alles stur nach Anleitung. So habe ich es vermutlich im März 2022 auch eingerichtet.
PS: Hier hatte jemand das gleiche Thema auf einem QNAP. Soweit klingt alles logisch, aber ich trau mich noch nicht recht ran.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Wenn die Daten, in denen die Konfig gespeichert wird, auf dem NAS entsprechend außerhalb des Containers gemappt ist, dann sollte der Container auch nach einem Update wieder funktionieren. Kannst du mal deinen Konfiguration des Containers (nicht Homebridge) hier posten?
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
@Monacum Gerne, was genau meinst, dass ich hier posten soll?
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Entweder eine yml-Datei oder das Skript des Aufgabenplaners, mit dem du den Container gestartet hast.

Laut Anleitung sollte es aber nur einen Ordner geben.
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
Sorry, stehe auf dem Schlauch. Wie gesagt - ich habe von Docker so gut wie keine Ahnung :)
Skript im Aufgabenplaner? Wüsste nicht, dass es einen Task/Skript für den Container gibt.
Wie erzeuge ich die yml Datei?
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Die erzeugst du nicht, die ist vorab vorhanden oder nicht 😅 Wie hast du den Container gestartet?
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
Das ist eine gute Frage, der Container wird beim Start der DS automatisch gestartet. Wo/wie ich das eingestellt habe finde ich gerade nicht... kannst du hier was sehen?
1684263515308.jpeg
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Irgendwo im Aufgabenplaner müsste eigentlich noch ein Skript sein, mit dem du den Container das aller erste Mal gestartet hast. Da stehen alle Umgebungsvariablen drin, mit denen der Container starten soll. Und unter anderem zum Beispiel auch, dass so wie auf deinem Screenshot ein Ordner auf der Festplatte des NAS gemounted werden soll.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Das Image https://hub.docker.com/r/oznu/homebridge/tags wurde zuletzt vor 4 Monaten aktualisiert. Normal macht er das alle 1-2 Monate. Hat wohl gerade eine Durststrecke.
Das basiert auch auf Ubuntu und nicht Alpine.

Normal sollte man warten bis das neue Image mit neuer Node Version verfügbar ist.

Update geht dann einfach
Image löschen und neu Laden
Container anhalten und Zurücksetzen.
Container starten.
Fertig.

Bringt halt nichts solange kein neues Image bereit steht.

Man kann die Version zwar im Container aktualisieren, ist aber ein leichter Krampf und sorgt teilweise für Probleme bei späteren Updates.

Alternativ muss man sich ein anderes Image suchen oder selber unter die Image Builder gehen.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
@Monacum man kann auch direkt über die Syno GUI gehen und sich den Container zusammenklicken, ohne Script und ohne Docker Compose yml.
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
Also ich sehe im Aufgabenplaner nix:
1684264394698.jpeg

Aktuell funzt alles mit der HomeBridge
1684264760874.jpeg

Trotzdem würde ich schon gern wissen wie ich die Kiste up to date bringe ohne alles lahm zu legen.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
@Fusion Jop, aber wenn er das selbst nicht weiß, ist das schwierig. 🤷‍♂️

@senderversteller Gerade wenn Homebridge so wichtig für dich ist, solltest du wissen, wie du den Container erstellt hast… Siehst ja selbst, dass wir bisher nur so halb helfen konnten. Wenn du kein Script genutzt hast, dann wie hier beschrieben vorgehen.
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
@Monacum Das beschreibt ja ein Update unter DSM7.2. Das hab ich noch garnicht drauf.

Aber ich bedanke mich trotzdem für Eure Bemühungen trotz meiner Unkenntnis. Hab das vor einem Jahr nach einer Anleitung eingerichtet - und seither funktioniert es problemlos - ohne dass ich mich weiter mit Docker beschäftigen musste.

Ich hoffe jetzt, dass sich hier noch jemand findet der "mich an die Hand" nehmen kann...

Einfach gesagt stelle ich mir das so vor (so wie es der Fragende in dem von mir verlinkten Verlauf in Beitrag #4 gemacht hat):
- Neuen Container mittels aktuellem Image von oznu (Auf Ubuntu Basis) erstellen.
- Ggf. Node.js über die Konsole updaten
- Backup von Homebridge reinladen (falls überhaupt erforderlich)

Aber ich will da jetzt nicht rumspielen bzw. basteln, dass am Ende ohne Not gar nichts mehr funzt.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
nach einer Anleitung
Ja nach welcher Anleitung denn? 😉

Das beschreibt ja ein Update unter DSM7.2.
Schau, die Vorgehensweise in Dockerunter DSM 7.1 ist die gleiche wie im Container Manager unter DSM 7.2. Aber das setzt ein wenig Eigeninitiative voraus, sich damit auch auseinanderzusetzen und die Gemeinsamkeiten der beiden Apps zu sehen – denn bei beiden handelt es sich letztlich um Docker. Wenn jemand anderes das jetzt nochmal per Screenshots mundgerecht Schritt für Schritt schreiben mag, gerne, aber ich bin nur mit dem Smartphone unterwegs und schaffe das jetzt nicht.

Hier wird übrigens meine Aussage unterstützt, dass die Daten eigentlich nicht verloren gehen dürften, wenn die Ordner richtig gemappt sind:

Wieso backup? Normalerweise werden Docker images vom Ersteller regelmäßig aktualisiert. Also in dem Fall sollte es doch genügen einfach den alten Container zu kicken und ihn einfach neu anzulegen. Wenn man die Verzeichnisse nicht im Container hat (was man auf gar keinen Fall machen sollte), dann brauchts auch kein Backup, da der neue Container ja auf die gleichen Verzeichnisse zugreift.
Am einfachsten geht das mit Portainer. Einfach einen recreate mit latest image und das Ding ist wieder up-to-date.
Im Docker sollte man eigentlich nichts nachinstallieren. Wie gesagt regelmäßig einen Container recreate und man immer das neuste Image.
 

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34

senderversteller

Benutzer
Mitglied seit
10. Dez 2015
Beiträge
238
Punkte für Reaktionen
34
Punkte
34
Keiner Homebridge in einem Docker auf der DS in Betrieb, der ein derartiges Update schon gemacht hat?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
Das Problem ist, das dieses update nach einem Neustart wieder weg ist. Daher macht es eher sinn zu warten, bis das Image aktualisiert wurde
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat