NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@hennerich sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Ist es korrekt, dass "irgendwann" mal ein neues Image gebaut wird, dass dann auch den neuen js Controller enthält?
Nicht irgendwann. Das Aktuelle Image hat bereits die aktuelle js-controller Version und sollte sie auch immer innerhalb eines Tages automatisch bekommen!
ABER: Das bringt dir nichts. Der js-controller befindet sich im ioBroker Ordner, den du hoffentlich aus dem Container heraus gemountet hast. Baust du jetzt einen neuen Container aus dem aktuellen Image, hängst du den Ordner wieder rein und deine js-controller Version bleibt wie sie ist. Steht auch alles in der Doku: https://docs.buanet.de/de/iobroker-docker-image/docs/#aktualisierung-update@hennerich sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Und habt ihr eine Lösung dafür, ob und wie man mitbekommt, wann auf Docker Hub ein neues Image verfügbar ist?
Entweder du abbonierst die Releases (dann bekommst du aber nur neue Releases mit) oder du schaust dir mal Watchtower an. Den kann man auch so betreiben, dass er nur prüft und informiert und nicht selbstständig updatet. Der reagiert dann auch darauf, wenn ein Image im selben release neu erstellt wurde.
Andere Alternative: Falls du Portainer benutzt ist vielleicht die Business Version interessant. Bis zu 5 Nodes kann man da kostenlos nutzen. Dort wird dir m.W. auch angezeigt, wenn es neue Versionen eines Images gibt.
MfG,
André -
@andre Dazu hätte ich direkt auch mal eine Frage, die aber die Docker-Container im Allgemeinen betrifft.
Wenn ich einen Docker-Container im bridge-Modus betreibe (also nicht über Portainer), dann ist es ja mitunter erforderlich, Ports freizugeben. Möchte ich für den Container nun ein neues Image erstellen, dann stoppe ich in der Regel das alte Image. Das Problem beim Neuanlegen ist nun aber, dass trotz des Stopps die Ports weiterhin blockiert sind. Ich muss also erst den alten Container löschen, bevor ich den neuen mit identischen Ports betreiben kann. Gibt es dafür einen Workaround?
Ich nutze absichtlich nicht den Portainer, weil es mir damit irgendwie nicht gelungen ist, meine nativ auf der DS laufende SQL-Datenbank (mariaDB) in den ioBroker einzubinden. Mir war das dann irgendwie zu müßig, so dass ich mich gegen den Portainer entschieden hatte. Zudem gab es auch hier und da Probleme, wenn ich ein bestehende Konfiguration ändern wollte.
Das Problem mit den Ports habe ich jetzt übrigens nicht beim ioBroker-Container, weil der bei mir im host-Modus läuft. Aber ich dachte mir, ich frag trotzdem mal.
-
@marc-berg sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Du kannst den js-Controller manuell updaten
Hierzu vielleicht noch ein kleiner Hinweis für diejenigen, den den Docker-Container direkt über die DS ausführen. Um die Terminal-Kommandos zum Killen des ioBrokers auszuführen, muss man eine neue bash öffnen. Dazu einfach auf "Erstellen" und dann auf die automtisch hinzugefügte "bash" klicken. Fertig.
Nach jedem Schließen des Fenstern verschwindet die bash wieder automatisch und muss dann ggf. erneut angelegt werden.
-
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Wenn ich einen Docker-Container im bridge-Modus betreibe (also nicht über Portainer)
Das hat nichts miteinander zu tun! Portainer ist nur eine grafische Oberfläche für den Docker Dienst.
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
dann ist es ja mitunter erforderlich, Ports freizugeben
Wenn du eine Container über ein Bridge Netzwerk betreibst, musst du die Ports, die von Außen erreichbar sein sollen freigeben.
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Möchte ich für den Container nun ein neues Image erstellen, dann stoppe ich in der Regel das alte Image.
Du erstellst vermutlich Container und nicht Images. Images sind die Grundlage der Container. Aus einem Image kannst du beliebig viele Container starten.
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
dass trotz des Stopps die Ports weiterhin blockiert sind.
Das mag sein. Habe ich noch nicht ausprobiert.
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Gibt es dafür einen Workaround?
Wenn es wirklich so ist, denke ich nicht.
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Ich nutze absichtlich nicht den Portainer, weil es mir damit irgendwie nicht gelungen ist, meine nativ auf der DS laufende SQL-Datenbank (mariaDB) in den ioBroker einzubinden.
Kann ich nicht nachvollziehen. Wenn du einen Container in einem Bridge Netzwerk laufen hast, dann ist der Host in der Regel das Gateway in diesem Netzwerk. Du solltest dich also über die Gateway-Adresse auf ein SQL DB die auf dem Host läuft verbinden können.
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Zudem gab es auch hier und da Probleme, wenn ich ein bestehende Konfiguration ändern wollte.
Ja, die Web UI hat so ihre Tücken. Grundsätzlich gilt: Bestehende Container lassen sich nicht ändern, nur neu Anlegen (deswegen heißt der Button im Portainer auch "duplicate/ edit").
Schau dir mal Portainer Stacks aka docker-compose an. Das funktioniert besser als die WebUI.MfG,
André -
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@andre Dazu hätte ich direkt auch mal eine Frage, die aber die Docker-Container im Allgemeinen betrifft.
Wenn ich einen Docker-Container im bridge-Modus betreibe (also nicht über Portainer), dann ist es ja mitunter erforderlich, Ports freizugeben. Möchte ich für den Container nun ein neues Image erstellen, dann stoppe ich in der Regel das alte Image. Das Problem beim Neuanlegen ist nun aber, dass trotz des Stopps die Ports weiterhin blockiert sind. Ich muss also erst den alten Container löschen, bevor ich den neuen mit identischen Ports betreiben kann. Gibt es dafür einen Workaround?
Zeig mal bitte die Meldung, die besagt, dass die Ports belegt sein sollen. Das kann dann nur eine Synology Spezialität sein. In einer nativen Docker-Umgebung kann ich mehrere Container mit gleichen Portfreigaben anlegen, kann natürlich nur einen starten.
-
@marc-berg sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Das kann dann nur eine Synology Spezialität sein
Ist so ...
-
@codierknecht
Eine Google-Suche ergibt, dass du auf der Synology wohl nicht allein mit dem Problem bist.Was spricht dagegen, den Container vorher zu löschen?
-
@marc-berg sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Eine Google-Suche ergibt, dass du auf der Synology wohl nicht allein mit dem Problem bist.
Mir ist das völlig Wumpe. Aber @dtp dürfte das sicher interessieren
-
Guten Tag zusammen,
ich wollte vor kurzem ein Multihost System einrichten, eine Instanz (Slave) auf einem Unraid Server. Einrichtung hat auch funktioniert, allerdings startet der Docker Container jetzt nicht mehr:
(Re)setting permissions (This might take a while! Please be patient!)... Done. Fixing "sudo-bug" by replacing sudo with gosu... Done. Hostname in ioBroker does not match the hostname of this container. Updating hostname to iobroker UR... ** Press ANY KEY to close this window **
Gibt es da noch einen Bug (wie zuvor beschrieben auf Beta wechseln) oder woran kann das liegen?
-
@codierknecht sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@marc-berg sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Eine Google-Suche ergibt, dass du auf der Synology wohl nicht allein mit dem Problem bist.
Mir ist das völlig Wumpe. Aber @dtp dürfte das sicher interessieren
Achja, falscher Adressat ..
-
@fir3drag0n sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hostname in ioBroker does not match the hostname of this container.
steht doch da ... das ist kein Bug !
-
@glasfaser und wie schaffe ich es dann den Container zu starten?
-
@fir3drag0n sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
ich wollte vor kurzem ein Multihost System einrichten, eine Instanz (Slave) auf einem Unraid Server. Einrichtung hat auch funktioniert,
Habe kein Unraid Server.
Keine Ahnung ... warum es so dann bei dir so kommt .
-
@glasfaser der Container wird ja direkt beendet - wie soll ich da die Befehle absetzen?
-
@fir3drag0n sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hostname in ioBroker does not match the hostname of this container.
Updating hostname to iobroker UR..iobroker UR..
Hast du hier was gekürzt !?
Nochmal ... ich weiß nicht was du gemacht hast ... normalerweise kommt soetwas , wenn du ein Backup einspielst .
Hast du den Hostname geändert !?
-
@glasfaser hat sich erledigt, im Docker Image müssen unbedingt noch die ENV Variables für Multihost (master od slave) und objectsdb sowie statesdb gesetzt werden
-
@fir3drag0n sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@glasfaser hat sich erledigt,
Freut mich ... das du deinen Bug gefunden hast
-
@marc-berg sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Was spricht dagegen, den Container vorher zu löschen?
Danke für eure Hinweise. Gegen das vorherige Löschen des Containers spricht natürlich nicht viel, außer, dass man sich dann ggf. vorher die Einstellungen hinsichtlich der Ports, Volumes und Umgebungsvariablen notieren muss. Und wenn was nicht funktioniert, besteht ggf. ein Risiko, dass man nicht mehr zur alten Version zurück kommt.
-
gelöscht
-
@dtp sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Gegen das vorherige Löschen des Containers spricht natürlich nicht viel, außer, dass man sich dann ggf. vorher die Einstellungen hinsichtlich der Ports, Volumes und Umgebungsvariablen notieren muss. Und wenn was nicht funktioniert, besteht ggf. ein Risiko, dass man nicht mehr zur alten Version zurück kommt.
Nein. Schau dir Portainer Stacks aka docker-compose an! Dann brauchst du dir keine Einstellungen merken.
Zur alten Version zurück? Schau dir die Tags des Docker Images an. Es gibt immer die Möglichkeit eine ältere Version zu laden.
Und das Wichtigste: Mach ein Backup vom ioBroker Ordner!MfG,
André