NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Gerade mit der 4.1.3beta probiert, das Gleiche:
Socket.io Server detected. Please update to js-controller 2.0 or higher!
Danke für Deine Mühe!
-
Läuft irgendetwas anderes auf Port 9000 oder 9001? Das ist auch der Standardprogramm vom Portainer as i know ... dann kollidiert das mit den iobroker dbs die auf diesen ports im Standard geöffnet werden. Kann man ändern in der iobroker.json in iobroker-data Verzeichnis oder mit iobroker setup custom.
-
Yes, genau das war das Problem! Portainer deaktiviert und schon ging es.
Vielen Dank und einen schönen Abend!
-
@apollon77 In der Tat, so ist es... @Jörg-D @steff-h euer Portainer hängt vermutlich auf Port 9000! Zumindest konnte ich es so 1:1 nachstellen....
Portainer einfach mit "-p 8889:9000" auf Port 8889 hängen und dann läufts...MfG,
André -
Ja, also um auf die Oberfläche von Portainer zu kommen muss ich ip:9000 eingeben
Ich dachte aber ioBroker ist auf ip:8081?Das heißt ich gehe jetzt in Docker und auf Terminal und gebe dort -p 8889:9000 ein und dann ist Portainer auf ip:8889 erreichbar und iobroker dann auf ip:8081 oder ist dieser dann auf ip:9000?
Das versteh ich gerade irgendwie nicht....(sry für die Unwissenheit)
-
Ok, hab es verstanden
Hab jetzt auch einfach Portainer deaktiviert und schon ging es
Danke!!!
-
@steff-h iobroker Admin - das web Interface - ist auf Port 8081 im default. Iobroker nutze aber auch ports 9000 und 9001 für die Datenbanken.
-
ah ok, dass wusste ich nicht
danke euch!!!
Aber wo änder ich den Port von Portainer genau? Im Docker kann ich im Terminal nichts eingeben, da blinkt nur der weiße Balken...
auf der Portainer Oberfläche hab ich es auch versucht....Use custom command aktiviert
command: -p 8889:9000und dann auf connect
ebenfalls ohne Erfolg
weil den js-Controller habe ich auch bis jetzt immer über den Docker-Terminal ungedatet....
aber auch wenn der Portainer deaktiviert ist und ich auf die Oberfläche von ioBroker komme, kann ich über den Docker-Terminal ebenfalls nichts eingeben für den ioBroker Container -
@steff-h Den Port von Portainer kannst du nur beim Erstellen vom Portainer Container ändern.
MfG,
André -
ah ok, dass erklärt einiges
jetzt hat das auch geklappt und ich kann beide Container gleichzeitig laufen lassen....
Vielen Dank für die Gedult mit mir und die Hilfe!!!!
-
Bei mir läuft's seit geraumer Zeit sehr gut ohne Portainer. Ich mache aber auch nicht so viel mit Docker-Containern (aktuell nur ioBroker und Motioneye). Daher war für mich der Portainer eher hinderlich als nützlich.
-
An der Stelle nochmal der Hinweis: Portainer ist nur eine Oberfläche zur Administration des Docker Daemon und hat keinen Einfluss darauf wie der ioBroker-Container läuft. Portainer setzt, genauso wie die Oberfläche der DS auch, die grafische Konfiguration in Docker Befehle um und bietet ein entsprechendes Monitoring.
Wenn es darum geht den Container einmal auf zu setzen dann tut es auch die Oberfläche der DS (mit Einschränkungen, siehe MACVLAN) oder ein einzeiliger Befehl in der Kommandozeile. Der Mehrwert bei Portainer liegt bei anderen Features die die Oberfläche der DS nicht zur Verfügung stellt. Einige Beispiele:- Update des Container über einen Klick per "Recreate"
- Anlegen eines MACVLAN
- Nutzung von Stacks aka "docker-compose" (Tutorial dazu folgt demnächst)
- durchreichen von USB-Devices
- setzen von capabilities
usw...
Der Vollständigkeit halber sei darauf hingewiesen, dass es auch noch andere GUIs für Docker gibt. Ich empfehle Portainer weil ich mehrere Alternativen getestet habe und Portainer als Sieger vom Platz gegangen ist, auch wenn Portainer aktuell längst nicht ohne Bugs ist...
MfG,
André -
Hallo zusammen,
erstmal Danke @andre für die ganze Arbeit! Ich nutze buanet schon ein paar Jahre und es läuft super. Jetzt würde ich das ganze gerne updaten, aktuell läuft mein System noch auf iobroker 1.2.3. Damit ich die neueste buanet Version verwenden kann muss ich ja erst die iobroker Version aktualisieren. Reicht es einfach einfach mit:
pkill io
iobroker update
iobroker upgrade self
iobroker startDann neues Backup machen und den neuen Container installieren? Oder brauche ich dann den Container gar nicht zu erneuern weil iobroker dann up2date ist?
-
@andre Ich arbeite(te) seit reichlich einem Jahr mit einem eigenen Container - weil ich ein Images für den Rock64 brauchte. Nun wurde es mal Zeit für ein generelles Upgrade (node, baseimage usw.) Da ich das Ganze zudem flexibler machen wollte, habe ich mir dein Images genauer angesehen und ich muss sagen, ich bin begeistert. Wie ich gesehen habe, unterstützt du inzwischen alle gängigen Plattformen.
Hab den Container einfach auf dem Rock64 erstellt, ein paar Variablen angepasst und mein altes ioBroker Verzeichnis gemappt.
Läuft seit 2 Wochen ohne die geringsten Probleme.Herzlichen Dank für deine Arbeit!
Spricht was dagegen, watchtower automatisch nach neuen Images suchen zu lassen? Oder sollte man da kein :latest verwenden?
Danke nochmal
-
@rewenode Ich würde jedem empfehlen nie latest zu verwenden. Vor allem nicht bei einer Applikation wie ioBroker, wenn du pech hast kommt ein Update und nichts läuft mehr.
z.B. aktuell beim Update des Containers auf die neue node Version, hättest du latest und ein automatisches Update wäre beim ersten Release des Containers mit der neuen node Version erstmal nichts mehr gegangen. -
@Scheddy Ich denke das wird nicht funktionieren, da kommt ja die neue js-controller Version hinzu sowie eine neuere node Version. An deiner Stelle würde ich folgendes machen:
- iobroker backup
- Den Container stoppen aber nicht löschen! Falls was bei den nächsten Schritten nicht funktioniert kann man ihn dann einfach wieder starten und alles bleibt beim alten.
- Die backup-Datei in ein neues iobroker-data Verzeichnis kopieren (da darf sonst nichts drin sein)
- Einen neuen Container anlegen mit der aktuellen Version und das neue Verzeichnis als ioborker-Data Verzeichnis mounten.
- Wenn der Container startet wird alles neu installiert und die alten Einstellungen werden übernommen.
Das sollte funktionieren, wenn nicht den neuen Container wieder löschen und erstmal wieder den alten starten und hier melden. Denke aber das ist die einfachste Möglichkeit.
-
@duffbeer2000 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
hättest du latest und ein automatisches Update wäre beim ersten Release des Containers mit der neuen node Version erstmal nichts mehr gegangen.
Ja, da hast du Recht. Hab nicht dran gedacht. npm rebuild wird ja nicht automatisch gemacht.
Und vlt. sowieso keine gute Idee, das Image automatisch updaten zu lassen.
Irgendwie konnte man doch watchtower dazu bringen, nur ne Mail zu schicken.
Inzwischen hab ich mir ohnehin angewöhnt, das ioB-Verzeichnis komplett zu sichern, dann die Updates (Adapter/Images etc) zu machen. Falls was schief läuft wird das Verzeichnis wieder umkopiert oder das Mapping in der yaml geändert.
Geht ja alles recht fix auf nem rock64. Die restlichen Container merken da nichts von. -
@duffbeer2000 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich würde jedem empfehlen nie latest zu verwenden.
Kann ich so nicht unbedingt unterstreichen. Ich nutze seit langem das latest-Repository und führe auch regelmäßig sämtliche Updates durch. Bisher hatte ich kaum Probleme damit. Der ioBroker läuft auch mit den jüngsten Adaptern in der Regel sehr zuverlässig. Allerdings habe ich bei Weitem nicht alle Adapter installiert. web, socketio, iot, admin und Co. sind aber auf jeden Fall dabei.
-
HAllo,
wenn ich etwas mit sudo eingebe oder auch wie hier:root@iobroker:/opt/iobroker# npm -v sudo: Hostname iobroker kann nicht aufgelöst werden sudo: Die Audit-Nachricht kann nicht gesendet werden: Unbekannter Fehler -1 sudo: pam_open_session: Systemfehler sudo: Regelwerks-Plugin konnte Sitzung nicht initialisieren
kommt immer dieser Fehler woher? was kann ich tun. danke
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@maestro
das mit dem host konnte ich eben erledigen: über putty mit sudo angemeldet ins etc, dort dann die hosts mit vi editiert und jetzt schreibt er die zeile mit dem hostname nicht mehr, jedoch den rest.