NEWS
Backup eines iobroker Docker Container auf einer Synology
-
Hallo Leute, beim Versuch den iobroker zu aktualisieren habe ich mir diesen leider komplett zerschossen.
Nachdem eh alles gesichert ist dachte ich, ok lösche ich den kompletten Container installiere mir den latest neu und lade mir die gesicherten iobroker Dateien wieder in den gemounteten docker/iobroker Ordner rein.
Aufsetzen des aktuellen iobroker Container läuft, allerdings nicht mehr nachdem ich die iobroker-Daten zurückgespielt habe.
Meine Frage nun:
- funktioniert meine Überlegung, neuen iobroker Container aufsetzen und alte Sicherung der Daten zurückspielen überhaupt? Der ursprüngliche war noch in einer älteren js-controller Version.
- falls nein, kann ich den ursprünglichen Container wieder zurückspielen? Ich habe gehört, dass diese versteckt unter @docker gesichert werden. Wo finde ich diesen, mittels ssh habe ich gehört aber keinen Plan dazu.
Wäre schön wenn mir jemand einen Tip geben könnte wie ich den iobroker wieder zum laufen bringen kann, da dieser bereits sehr umfangreich konfiguriert wurde.
Besten Dank!
-
@bob sagte in Backup eines iobroker Docker Container auf einer Synology:
Der ursprüngliche war noch in einer älteren js-controller Version.
Genau das funktioniert nicht, ob Docker oder nicht. Ein Backup kann nur in der gleichen js-controller Version zurückgespielt werden. Du müsstest also zunächst den js-controller auf die korrekte Version downgraden, Backup einspielen und wieder upgraden.
-
@marc-berg danke, ich versuche das mal
ok, nach Neuinstallation des Containers und Rücksetzen des js.controller von 5.0.19 auf 4.0.23
cd /opt/iobroker
pkill -u iobroker
npm i iobroker.js-controller@4.0.23 --production
iobroker starthabe ich das Backup (Ornder iobroker auf der NAS) erneut eingestellt.
Es werden nun die Adapter richtig angezeigt jedoch keine Instanzen oder Objekte.
Stoppt und startet man den Container neu fährt er nicht mehr hoch.Kann es sein, dass auch die node Version falsch ist. Aktuell ist 18.20.3 zuvor 16.7.0
Hab allerdings keine Möglichkeit gefunden die node Version zurück zu setzen!?
npm i iobroker.node@16.7.0 --production ergibt eine Fehlermeldung (in etwa file not found) -
ich komme so nicht weiter, gibt es eine Möglichkeit den vorherigen, "Urzustand" also dieses "geheime" @docker Verzeichnis wieder her zu stellen?
-
@bob sagte in Backup eines iobroker Docker Container auf einer Synology:
Es werden nun die Adapter richtig angezeigt jedoch keine Instanzen oder Objekte.
könnte es sein, dass du nur nicht lange genug gewartet hast?
Stoppt und startet man den Container neu fährt er nicht mehr hoch.
"geht nicht" ist keine Fehlermeldung. Bitte immer Logs mit bekannt geben.
Kann es sein, dass auch die node Version falsch ist. Aktuell ist 18.20.3 zuvor 16.7.0
Version 18 passt sowohl für js-controller 4.x als auch 5.x. Siehe hier: https://github.com/ioBroker/ioBroker.js-controller?tab=readme-ov-file#compatibility
npm i iobroker.node@16.7.0 --production ergibt eine Fehlermeldung (in etwa file not found)
Hier im Forum gibt es etliche Beiträge, wie man das richtig machen würde (wenn notwendig).
-
Wie erwähnt fährt der iobroker Container nach dem Zurückspielen des iobroker docker Ordner auch nach dem Zurücksetzen des js-controller nicht mehr hoch. Ich erhalte nur im Minutentakt per e-mail die folgende Fehlermeldung
"Docker-Container iobroker wurde unerwartet gestoppt. Wählen Sie auf der Seite Container iobroker aus, klicken Sie auf Details und öffnen Sie die Registerkarte Protokoll für weitere Informationen."
Im Protokoll sieht man nur, dass der Container bereits bei Step 1 stecken bleibt.
Denke mittlerweile, dass es sinnvoller sein wird die Objekte neu zu registrieren. Das wäre außer Arbeit jetzt nicht das große Problem, erschüttert nur meine backup Strategie, dass diese nicht funktionieren im Bedarfsfall wenn man diese benötigt.
Schmerzhafter sind meine Blocky Scripts, kann man diese vielleicht einzeln vom backup importieren?
-
Container in den Maintenance Modus versetzen und dann in die Console einloggen....
Dann schau dir das iobroker logfile an..Ansonsten:
Welches Image benutzt du? Wenn du auf alt machst, dann hoffentlich auch ein altes Image vom iobroker genommen?
Edit:
habs in dem Screenshot gesehen... du verwendest ein Image mit Node 18.. wenn du Node 16 brauchst, ist das zu neu.. -
@ilovegym
Perfekt, das war es!
Image 7.0.0 (Node 16.15.1) verwendet, Backup zurück gespielt und nach Neustart des Containers ist nun wieder alles richtig zurückgesetzt! Vielen Dank!
Beruhigt ungemein, dass der Backup Plan nun doch funktioniert hat!Mittlerweile läuft alles wieder wie soll.
Hab nach den Zurückspielen erstmals den Node, dann sämtlich Adapter und zuletzt den js-controller aktualisiert.