NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Ist der Hostname evtl. in einer Konfigurationsdatei gespeichert, sodass ich ihn händisch anpassen könnte?
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
So ist es bei reboot eigentlich. Die Restart Policy sagt eigentlich nur, was passiert wenn der container fehl schlägt...
Bisher hatte ich aber auch noch nie Probleme mit dem Restart der DS...So jetzt habe ich tatsächlich den Fall das sich meine DS918+ wieder aufgehängt hat und ich den Stecker ziehen musste. Und siehe da, der Container wo ich Restart policy auf Always gestellt hat wurde gestartet. Die anderen nicht.
Es macht also schon Sinn diese Einstellung zu machen.Ich habe es nun auch beim ioBroker-Container gemacht. Habe aber nicht gewußt, dass beim Deploy gleich das Update von 5.0 auf 5.1 gemacht wird. Jetzt steht der Status auf healthy. ioBroker funktioniert aber.
Wenn ich das Update richtig verstehe ist das neu rein gekommen. Aber wie gehts jetzt weiter? Muss ich da was machen?
-
Ich habe jetzt noch einmal einen frischen Multihost Master Container basierend auf latest-v5 aufgesetzt. Hier sehe ich direkt nach dem Start keinen einzigen Adapter, d.h. ich kann nichts installieren.
Hat das vielleicht doch etwas mit dem Container zu tun?Und auch mit einem frischen Beta Container habe ich keinen Zugriff mehr auf die Adapterliste. Er lädt praktisch bis in alle Ewigkeit.
Dasselbe gilt für den Tag v5.1.0.
-
@Bongo
Er hat das Update gemacht, weil du es ihm gesagt hast.
Du hast den Tag :latest benutzt und ich wette du hast deinen Container auf "always pull image" stehen. Also zieht er bei jedem Deploy immer automatisch das neuste :latest Image und das ist seit letzte Nacht glaube ich die 5.1.
Wenn du das nicht möchtest, dann solltest du nicht den latest Tag benutzen, sondern zB :5.0.0 - dann kannst du manuell updaten indem du den Tag irgendwann selber auf :5.1.0 anpasst zB.S
-
@Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@Bongosondern zB :5.0.0 - dann kannst du manuell updaten indem du den Tag irgendwann selber auf :5.1.0 anpasst zB.
Gibt es eine Möglichkeit, die Version des Image abzufragen?
-
Wird im Protokoll angezeigt .
-
@vepman said in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Gibt es eine Möglichkeit, die Version des Image abzufragen?
Jain.
Wie Glasfaser schon schrieb kannst du ins Log schauen - nachdem du das Image gestartet hast.
Aber am Image selber kannst du nicht erkennen welche Version es ist, weil du die Version "latest" heruntergeladen hast und dieser Tag ist volatil. Innerhalb von Docker (bzw. in jedem Github) wird die Version eines Image immer durch ihren Tag festgelegt. Es gibt theoretisch die Chance, dass du ein Image mit :latest Tag heruntergeladen hast, was exakt einem Release Tag entspricht - dann könntest du es am Hashwert des Images erkennen. Ist aber Glückssache und nicht wirklich intuitiv.S
-
@Satsh @Glasfaser
Danke für die Info. -
@Satsh sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@Bongo
Er hat das Update gemacht, weil du es ihm gesagt hast.
Du hast den Tag :latest benutzt und ich wette du hast deinen Container auf "always pull image" stehen. Also zieht er bei jedem Deploy immer automatisch das neuste :latest Image und das ist seit letzte Nacht glaube ich die 5.1.
Wenn du das nicht möchtest, dann solltest du nicht den latest Tag benutzen, sondern zB :5.0.0 - dann kannst du manuell updaten indem du den Tag irgendwann selber auf :5.1.0 anpasst zB.Danke, so wird es wohl ein. In diesem Fall ist das Update kein Problem.
Zum healthy-Status:
Wenn ich es richtig verstehe wird in der neuen Version überprüft ob der Prozess js-controller läuft. Wenn ja ist der Status healthy. Also ab jetzt ist der Normal-Status nicht mehr running sondern healthy.
Habe ich das richtig verstanden? -
Ich habe jetzt den ioBroker wieder in einer Multihost Lösung laufen. Mit den Environment variables IOB_MULTIHOST etc. hat das wunderbar funktioniert.
Ich habe jetzt allerdings noch einen toten Slave in der Liste. Der wird auch nicht mehr wieder kommen. Wie kann ich den denn löschen? Über das normale Papierkorbsymbol funktioniert es nicht. Es kommt halt die Meldung, dass ioBroker gestoppt werden muss, bevor ein Slave entfernt werden kann.
Wie ist denn das Prozedere in der Multihost Docker Variante?
-
@Kraxelhuber sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Über das normale Papierkorbsymbol funktioniert es nicht. Es kommt halt die Meldung, dass ioBroker gestoppt werden muss,
schau mal hier ,da haben wir erst gestern darüber in diesem Thread gesprochen wie es geht.
https://forum.iobroker.net/topic/38427/gelöst-keine-zugriff-mehr-auf-iob-webinterface-multihost
-
@Glasfaser Danke, konnte den toten Slave über den Objektbaum entfernen.
-
@andre Hallo, ich möchte meinen iobroker vom Raspi auf die Synology umziehen, bzw. hier einen Multihost einrichten. Alos die Synology ist dann der Master und der Raspi der Slave.
Ich hab dazu diene Anleitung befolgt. Hab aber Probleme mit dem Multihost, das bekomm ich einfach nicht zum laufen.
Ich habe als Netzwerk auch über die MCVLAN alles eingerichtet. Ich möchte iobroker unter einer eigenständigen IP verwalten.Das Image läuft, aber ich kann jetzt iobroker nicht öffnen.
Wenn ich im Terminal den Status abfrage, sagt er mir auch das iorboker nicht gestartet ist, kann es auch nicht starten.Ich denke dass ich einfach die Einstellungen für den Multihost oder vom Netzwerk falsch gesetzt hab. Weiß aber nicht was.
Hier der LOG vom ContainerActions ------------------------------------------------------------ --------------- 2020-11-09 16:20:24 --------------- ------------------------------------------------------------ ------------------------------------------------------------ ----- Welcome to your ioBroker-container! ----- ----- Startupscript is now running. ----- ----- Please be patient! ----- ------------------------------------------------------------ ------------------------------------------------------------ ----- Debugging information ----- ----- ----- ----- System ----- ----- arch: x86_64 ----- ----- ----- ----- Versions ----- ----- image: v5.1.0 ----- ----- node: v12.19.0 ----- ----- npm: 6.14.8 ----- ----- ----- ----- ENV ----- ----- IOB_MULTIHOST: master ----- ----- IOB_OBJECTSDB_HOST: 192.168.178.5 ----- ----- IOB_OBJECTSDB_PORT: 9001 ----- ----- IOB_OBJECTSDB_TYPE: file ----- ----- SETGID: 1000 ----- ----- SETUID: 1000 ----- ------------------------------------------------------------ ------------------------------------------------------------ ----- Step 1 of 5: Preparing container ----- ------------------------------------------------------------ Registering maintenance script as command. Done. ------------------------------------------------------------ ----- Step 2 of 5: Detecting ioBroker installation ----- ------------------------------------------------------------ Existing installation of ioBroker detected in /opt/iobroker. ------------------------------------------------------------ ----- Step 3 of 5: Checking ioBroker installation ----- ------------------------------------------------------------ (Re)Setting folder permissions (This might take a while! Please be patient!)... Done. Fixing "sudo-bug" by replacing sudo in iobroker with gosu... Done. ------------------------------------------------------------ ----- Step 4 of 5: Applying special settings ----- ------------------------------------------------------------ Some adapters have special requirements/ settings which can be activated by the use of environment variables. For more information take a look at readme.md on Github! Multihost is set as "master" by ENV and external objects db is set. Skipping this step... Done. Multihost is set as "master" by ENV and no external states db is set. Setting host of states db to "0.0.0.0" to allow external communication... Done. ENV IOB_OBJECTSDB_TYPE is set and value meets detected ioBroker installation. Nothing to do here. ENV IOB_OBJECTSDB_HOST is set and value is different from detected ioBroker installation. Setting host of objects db to "192.168.178.5"... Done. ENV IOB_OBJECTSDB_PORT is set and value meets detected ioBroker installation. Nothing to do here. ------------------------------------------------------------ ----- Step 5 of 5: ioBroker startup ----- ------------------------------------------------------------ Starting ioBroker...
-
@andre
keiner eine Idee? -
@Michi_Pi Der Kontainer startet nicht vollständig... nach dem starting müsste noch mehr kommen...
Denke mit deinen Netzwerksachen stimmt wa snicht - aber ich hab es anderst gemacht und di MCVLAN im Syno erstellt, kann zu deiner Lösung leider nichts sagen...
-
Ich habe nun das Problem, dass ich am basteln eines Adapters bin und von Visual Studio Code zum debuggen eine SSH Verbindung zum Container aufbauen will.. ich komme nicht weiter... muss ich im Container noch SSH installieren? Der Container läuft nicht privilegiert mit der 5.0.2b...
-
@Boardy okay, werd ich mal versuchen, danke.
-
@Michi_Pi Wenn André das beschrieben hat wird es wohl auch so gehen... ggf noch mal neu versuchen?
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Since v4.0.0 the image is available for the following architectures: amd64, armv7hf, aarch64.
Dafür habe ich kein Image parat...
[...]
Viel Erfolg!Ich habe also einen Rechner mit einem "Intel Core i7-6700" sowie einen mit einem "Intel Core i7-3630QM", auf denen ich ioBroker gerne in einem Docker-Container installiert hätte. Wenn ich es richtig verstanden habe, hast Du für Intel Prozessoren keine fertigen Image eines Docker-Containers von ioBroker. Richtig?
Sollte ich das Ganze auf meinem Laptop mit einem "AMD Ryzen5 3500U" installieren wollen, hättest Du mit dem amd64'er ein passenden Image zur Verfügung. Richtig?
Grundsätzlich geht es mir auch erst einmal um eine Grundinstallation von Docker und dann noch wie von Dir empfohlen auch noch Portainer, um alles zu verwalten.
Testweise hatte ich mich mal an der Anleitung Brian Hogan - Docker unter Ubuntu 20.04 orientiert und Docker installiert. Hello World usw. lief und auch an Portainer habe ich mich versucht nur hatte ich zuviel Durcheinander im System, weshalb ich es jetzt noch mal komplett neu als Mint 20er-System aufgesetzt habe. Hier will ich erst einmal testen und meine Erfahrungen sammeln, um später auf ein Linux ohne GUI zu setzen.
Wenn vielleicht Jemand mal über den Link oben schauen könnte und mir sagen kann, ob ich Docker nach dieser Installation auch ausreichend für eine späteren ioBroker-Container ist, wäre mir wirklich sehr geholfen.
Dann kommen wir zur Portainer-Installation nach Buanet. Unter Vorbereitung Punkt 1 steht
"Weiterhin benötigen wir ein Volume oder einen Ordner den wir zur Speicherung der Konfiguration des Portainer Containers beim Starten in diesen einbinden. Auf der Synology lässt sich ein solcher Ordner leicht über die FileStation anlegen."
Wenn ich keine Snology und Filestation habe, lege ich z.B. unter home, media oder mnt ein Unterverzeichnis z.B. "/media/volume1/docker/portainer_data" an und gebe es dann unter Punkt 2 beim Start des Docker-Containers auch mit "/media/volume1/docker/portainer_data" anstelle Deines Beispiels von "/volume1/docker/portainer_data" an. Richtig?
Und ganz am Schluss dieses Beitrages muss ich dann also einen Docker-Container komplett neu erstellen und dort ioBroker manuell installieren, als wenn ich es in einem Linux ohne Container machen würde??? Hättest Du hierfür vielleicht irgendeinen Link, den Du mir empfehlen kannst. Muss ja nicht ioBroker sein, nur dass ich die Vorgehensweise verstehe.
Ich sagte ja... In Sachen Docker bin ich wirklich völlig unbedarft
-
@Boardy sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
muss ich im Container noch SSH installieren?
SSH ist im Docker Container nicht drin. Wird auch eigentlich nicht gemacht weeil man i. d. R. über docker exec von der Shell des Hosts in den Container geht... oder auch z.B. per Portainer.
Theoretisch machbar ist SSH im Container aber...MfG,
André