NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@cburghardt sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre kurze Rückfrage zu den Versionen. Ich wollte eigentlich meinen vorhandenen 3.0 container mal wieder mit dem letzten Stand aktualisieren, aber das steht noch auf debian:latest oder? Das würde mir ja dann Debian 10 bringen, das wäre schlecht. Muss ich auf die beta upgraden?
Schau mal hier: https://github.com/buanet/docker-iobroker/blob/master/README.md
v3.1.0 von gestern Abend. Habe von latest auf stretch umgestellt. Debian 10 ist für mich aktuell noch kein Thema.
MfG,
AndréWie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)

@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)
Warum sollte es über Recreate mit dem aktivierten "Latest"-Button nicht gehen? Damit wird doch immer die letzte Version geladen. Also bei mir hat das Update damit einwandfrei funktioniert.
-
Hallo Ihr Cracks,
habe den Docker installiert (V3) , Host Modus und eine DS218+.
Habe vom Raspi 3B den Iobroker gepackt und in der Synology entpackt und gemounted. Nach Anleitung.
So funktioniert auch alles. Will ich aber Adapter updaten dann kommen npm Fehler.
Leider habe ich null Plan von der Synology Materie 😣
NPM Version ist 6.4.1
Node ist 8.16.1 -
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich schaue mir das gerne heute Abend mal an, aber im Moment kann ich mir nicht erklären warum das so auftritt.
Hier noch mal ein paar Details, weil das Problem auch noch mit der Version 3.1.0 auftritt.
Version 2
node 8.15.0
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.10


Wie man sieht, gibt es keine Probleme.
Version 3
node 8.16.1
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.12 (MACVLAN)

Hier kommt es zum "\r"-Problem, obwohl die gemounteten Verzeichnisse identisch sind.
Was für Infos könnten dir noch weiterhelfen?
Gruß,
Thorsten
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich schaue mir das gerne heute Abend mal an, aber im Moment kann ich mir nicht erklären warum das so auftritt.
Hier noch mal ein paar Details, weil das Problem auch noch mit der Version 3.1.0 auftritt.
Version 2
node 8.15.0
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.10


Wie man sieht, gibt es keine Probleme.
Version 3
node 8.16.1
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.12 (MACVLAN)

Hier kommt es zum "\r"-Problem, obwohl die gemounteten Verzeichnisse identisch sind.
Was für Infos könnten dir noch weiterhelfen?
Gruß,
Thorsten
Findet sich jemand der dazu mal einen Issue auf Github einstellt? Hier im Forum verliere ich das leider immer wieder aus den Augen. Danke.
MfG,
André -
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich schaue mir das gerne heute Abend mal an, aber im Moment kann ich mir nicht erklären warum das so auftritt.
Hier noch mal ein paar Details, weil das Problem auch noch mit der Version 3.1.0 auftritt.
Version 2
node 8.15.0
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.10


Wie man sieht, gibt es keine Probleme.
Version 3
node 8.16.1
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.12 (MACVLAN)

Hier kommt es zum "\r"-Problem, obwohl die gemounteten Verzeichnisse identisch sind.
Was für Infos könnten dir noch weiterhelfen?
Gruß,
Thorsten
Findet sich jemand der dazu mal einen Issue auf Github einstellt? Hier im Forum verliere ich das leider immer wieder aus den Augen. Danke.
MfG,
André -
Hallo zusammen,
ich habe diesen Thread schon mehrmals rauf und runter gelesen und doch irgendwie den Überblick verloren.
ich habe ioBroker auf einem Docker auf meiner NAS installiert, ohne mapping und möchte jetzt updaten (Node.js und js.controller).
Was muss ich genau machen um nichts zu zerstören?
ich muss dazu sagen, dass ich ein absoluter Neuling in dem Thema bin.
Gruß Oliver
-
@andre
ok, sorry wenn es unverständlich geschrieben war.mein Setup:
Synology 1512+
Docker:- Portainer (bridge)
- iobroker (MACVLAN)
um nicht die Iobroker Cloud zu verwenden wollte ich über amazon-echo-hub (Modul von node-red) arbeiten. Dieses benötigt jedoch den Port 80, der wiederum nur privilegierten Benutzern oder Prozessen zur Verfügung steht. Die Iobroker controller startest du ja über "sudo -u iobroker ..." (userid 1000). Nun wollte ich, mit setcap, node die Rechte geben den Port zu verwenden, was jedoch nicht geht da die Partition scheinbar mit dem "nosuid" Parameter gemountet wird. Auch das setzten von iptables funktioniert nicht, Alexa akzeptiert dies nicht (ich weiß nicht warum).
Als Lösung habe ich nun "-u iobroker" aus deinem Script entfernt. Nun klappt alles, jedoch laufen alle Module bzw. controller mit root Rechten.
P.S. Für mich sind die Netzwerke host oder bridge nicht geeignet, da ich auf der Synology einen Webserver am laufen haben.
@whfor Habe es auf meinem Testsystem zum Laufen gebracht. Vielleicht hilft dies hier:
- Beim Erstellen/ Duplizieren des ioBroker-Containers unter "Capabilities" sicherstellen, dass "cap_net_bind_service" aktiviert ist

- Nach dem Erstellen über die Kommandozeile als root:
setcap 'cap_net_bind_service=+ep' `which node`- Im ioBroker Admin sicherstellen dass node-red nicht auf port 80 läuft:

- Im Node Red den Hub auf Port 80 laufen lassen:

Danach konnte ich mein Device "Test" über die Alexa-App finden....
MfG,
André -
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)
Warum sollte es über Recreate mit dem aktivierten "Latest"-Button nicht gehen? Damit wird doch immer die letzte Version geladen. Also bei mir hat das Update damit einwandfrei funktioniert.
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)
Warum sollte es über Recreate mit dem aktivierten "Latest"-Button nicht gehen? Damit wird doch immer die letzte Version geladen. Also bei mir hat das Update damit einwandfrei funktioniert.
Genau so funktioniert es. Allerdings wird mit dem Button immer das zuletzt generierte Iamge vom im Container verwendeten Tag herunter geladen. Wenn man den Container mit "latest"erstellt hat, klappt das Update, Hat man eine konkrete Version genommen (z.B. v3.0.0) wird es nicht gelingen. Dann muss man den Button "duplicate/edit" nehmen und das verwendete Image auf die aktuelle Version anpassen...
MfG,
André -
Hallo,
ich habe heute mit dem latest image einen neuen Container erstellt.Leider bleibt der histroy Adapter rot.
Hat sich hier was geändert, bzw. was kann ich jetzt machen?
Hier mein LOG.
Grüße
Thomas
-
Hallo Ihr Cracks,
habe den Docker installiert (V3) , Host Modus und eine DS218+.
Habe vom Raspi 3B den Iobroker gepackt und in der Synology entpackt und gemounted. Nach Anleitung.
So funktioniert auch alles. Will ich aber Adapter updaten dann kommen npm Fehler.
Leider habe ich null Plan von der Synology Materie 😣
NPM Version ist 6.4.1
Node ist 8.16.1 -
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Findet sich jemand der dazu mal einen Issue auf Github einstellt?
Hallo André,
genügt dir das so? Klick!
Gruß,
Thorsten
-
Hallo zusammen,
ich habe diesen Thread schon mehrmals rauf und runter gelesen und doch irgendwie den Überblick verloren.
ich habe ioBroker auf einem Docker auf meiner NAS installiert, ohne mapping und möchte jetzt updaten (Node.js und js.controller).
Was muss ich genau machen um nichts zu zerstören?
ich muss dazu sagen, dass ich ein absoluter Neuling in dem Thema bin.
Gruß Oliver
@Oli Im Prinzip kannst du alles so updaten wie auf jedem anderen Linux-PC auch (z.B. Raspberry)
ABER
Wenn du deine Daten wirklich innerhalb des Containers hast rate ich dir dringend den Ordner /opt/iobroker dort raus zu holen und über ein Mapping ein zu binden! Wird dein Container korrupt kommst du an die Daten nicht mehr ran!
Außerdem kannst du, zumindest die Node-Version dann ganz ein fach über die Verwendung eines aktuelleren Images updaten...MfG,
André -
also ich hab immer mehr Probleme mit dem USB z.b CC2531 stick ...
Wenn ich diesen per "erhöhte Rechte" auch alles angezeigt bekomme MUSS ich in der iobrocker Konsole noch chmod777 machen .. das jedes mal ..Wurde in der Beta etwas angepasst diesbezüglich ?
-
@dtp Jetzt habe ich es auf dem Radar. :) Allerdings bekomme ich den Fehler immer noch nicht reproduziert...
MfG,
André@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@dtp Jetzt habe ich es auf dem Radar. :) Allerdings bekomme ich den Fehler immer noch nicht reproduziert...
Hallo André,
vielleicht liegt es an der speziellen Konfiguration über MACVLAN und den zwei IP-Adressen der entsprechenden Ethernet-Anschlüsse meiner DiskStation. Eine andere Erklärung habe ich leider auch nicht.
Nun ja, ist ja nicht so eilig, da es einen Workaround gibt. ;)
-
Ich möchte mich hier nochmal mit einem Fehler melden, zu dem ich aktuell keine Idee habe.
ioBroker ist mit dem aktuellsten Image auf das Synology installiert.
Läuft auch soweit, allerdings funktioniert der hm.rpc Adapter nicht korrekt, und zwar nur mit den Wirelesse devices nicht.
Der Adapter ist grün und einige Informationen werden auch aktualisiert, aber eben nicht alle.
Dasselbe gilt für die Bedienung, teilweise geht es, ein Teil aber nicht.
Es macht irgendwie den Eindruck als würden die Daten der ccu2 nicht sauber gelesen.Hier die Konfiguration des Adapters:


Jemand eine Idee, was ich tun könnte.
xml auf bin umgestellt, habe ich schon getestet. Bringt nichts.
Auch nicht das eintragen des adapter ports bei den Hautpeinstellungen. -
Hm. Hab gestern ein Update auf die DSM-Version DSM 6.2.2-24922 Update 3 gemacht und erhalte nun nach dem Neustart des ioBroker folgende Fehlermeldung, die zum Abbruch führt.

Meine Version 2 des ioBroker startet ohne Probleme. Jemand eine Idee?
EDIT: Geht wieder. Problem war, dass nach dem Neustart der DS beide ioBroker-Instanzen starteten und meine V2-Instanz wohl die log-Dateien blockierte, so dass die V3-Instanz nicht mehr darauf zugreifen konnte. Hab die log-Dateien nun einfach gelöscht. Jetzt startet die V2-Instanz wieder.
Gruß,
Thorsten
-
Hallo,
ich habe mir den Docker Container installiert. MACVLAN habe ich auch angelegt, soweit so gut. Aber, iobroker selbst startet im Container nicht. Ich habe das /opt/iobroker gemountet von meinem Volume (/volume1/docker/iobroker). ioBroker startet nicht. Mein /opt/iobroker Verzeichnis ist leer. Führe ich das Script /opt/scripts/iobroker_startup.sh aus erhalte ich das hier:
root@ioBroker:/opt/iobroker# /opt/scripts/iobroker_startup.sh ---------------------------------------- ----- Image-Version: 3.1.0 ----- ----- 2019-09-04 20:05:13 ----- ---------------------------------------- Startupscript running... Installing additional packages... The following packages will be installed: nano Installing additional packages done... cp: der Aufruf von stat für '/opt/iobroker/iobroker' ist nicht möglich: Datei oder Verzeichnis nicht gefunden sed: /opt/iobroker/iobroker kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden Starting ioBroker... ---------------------------------------- ------- ioBroker Logging ------- ---------------------------------------- module.js:550 throw err; ^ Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/controller.js' at Function.Module._resolveFilename (module.js:548:15) at Function.Module._load (module.js:475:25) at Function.Module.runMain (module.js:694:10) at startup (bootstrap_node.js:204:16) at bootstrap_node.js:625:3Habe den Container auch schon mehrfach neu gemacht. Bereitgestellt habe ich ihn mit:
bash-4.3# docker run -d --name ioBroker --restart=always --hostname=ioBroker --net=iobroker --dns=10.1.0.1 --device=/dev/ttyACM0 -v /volume1/docker/iobroker/:/opt/iobroker -it buanet/iobroker:latestIn meinen Augen fehlt was in /opt/iobroker. Klar, ist ja wie gesagt leer weil ich es aus meinem Volume gemountet habe. Aber wenn ich die Anleitung auf buanet.de richtig verstehe sei doch das genau richtig?!
Vielen Dank,
Michael -
Ich bekomme irgendwie kein Backup eingespielt.
Wollte iobroker vom Raspi auf die Syno umziehen. Raspi hat die IP 192.168.1.5, Docker in der Syno hinten die .240.
Starte ich den buanet Container wie gewohnt über Portainer auf der DSM, hjabe ich ein jungfräuliches iobroker. Dann gehe ich in die Shell und mache "pkill io", und "iobroker restore 0" - dann startet iobroker nicht mehr.
Im Containerlog steht dass er es über die alte IP (.5) versucht statt die neue .240.{ Error: listen EADDRNOTAVAIL 192.168.1.5:8081 at Server.setupListenHandle [as _listen2] (net.js:1343:19) at listenInCluster (net.js:1401:12) at doListen (net.js:1510:7) at _combinedTickCallback (internal/process/next_tick.js:142:11) at process._tickCallback (internal/process/next_tick.js:181:9) errno: 'EADDRNOTAVAIL', code: 'EADDRNOTAVAIL', syscall: 'listen', address: '192.168.1.5', port: 8081 }Ich bi netwas ratlos, der Container hat definitiv die 192.168.1.240, nicht die 5 hinten. Ein "iobroker host this" oder "./fix_installation.sh"korrigiert den Fehler nicht, das Restore hat scheinbar die alte IP eingebrannt.
-
Hallo,
ich habe mir den Docker Container installiert. MACVLAN habe ich auch angelegt, soweit so gut. Aber, iobroker selbst startet im Container nicht. Ich habe das /opt/iobroker gemountet von meinem Volume (/volume1/docker/iobroker). ioBroker startet nicht. Mein /opt/iobroker Verzeichnis ist leer. Führe ich das Script /opt/scripts/iobroker_startup.sh aus erhalte ich das hier:
root@ioBroker:/opt/iobroker# /opt/scripts/iobroker_startup.sh ---------------------------------------- ----- Image-Version: 3.1.0 ----- ----- 2019-09-04 20:05:13 ----- ---------------------------------------- Startupscript running... Installing additional packages... The following packages will be installed: nano Installing additional packages done... cp: der Aufruf von stat für '/opt/iobroker/iobroker' ist nicht möglich: Datei oder Verzeichnis nicht gefunden sed: /opt/iobroker/iobroker kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden Starting ioBroker... ---------------------------------------- ------- ioBroker Logging ------- ---------------------------------------- module.js:550 throw err; ^ Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/controller.js' at Function.Module._resolveFilename (module.js:548:15) at Function.Module._load (module.js:475:25) at Function.Module.runMain (module.js:694:10) at startup (bootstrap_node.js:204:16) at bootstrap_node.js:625:3Habe den Container auch schon mehrfach neu gemacht. Bereitgestellt habe ich ihn mit:
bash-4.3# docker run -d --name ioBroker --restart=always --hostname=ioBroker --net=iobroker --dns=10.1.0.1 --device=/dev/ttyACM0 -v /volume1/docker/iobroker/:/opt/iobroker -it buanet/iobroker:latestIn meinen Augen fehlt was in /opt/iobroker. Klar, ist ja wie gesagt leer weil ich es aus meinem Volume gemountet habe. Aber wenn ich die Anleitung auf buanet.de richtig verstehe sei doch das genau richtig?!
Vielen Dank,
Michael@GrillSgt said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
In meinen Augen fehlt was in /opt/iobroker. Klar, ist ja wie gesagt leer weil ich es aus meinem Volume gemountet habe. Aber wenn ich die Anleitung auf buanet.de richtig verstehe sei doch das genau richtig?!
Vielen Dank,
MichaelKlingt ein wenig nach einem Rechteproblem. In dem Moment, wo du den Container startet, sollte sich dein eingehängtes Verzeichnis mit Daten füllen.
Was sagt denn das Docker-Log? Lege mal dein Verzeichnis (volume1/docker/iobroker) mit dem Explorer in DSM ganz neu an. Und beim starten, lasse mal den letzten "/" vor dem Doppelpunkt beim Verzeichnis mounten weg (also/volume1/docker/iobroker:/opt/iobroker) -
Hallo,
ich habe mir den Docker Container installiert. MACVLAN habe ich auch angelegt, soweit so gut. Aber, iobroker selbst startet im Container nicht. Ich habe das /opt/iobroker gemountet von meinem Volume (/volume1/docker/iobroker). ioBroker startet nicht. Mein /opt/iobroker Verzeichnis ist leer. Führe ich das Script /opt/scripts/iobroker_startup.sh aus erhalte ich das hier:
root@ioBroker:/opt/iobroker# /opt/scripts/iobroker_startup.sh ---------------------------------------- ----- Image-Version: 3.1.0 ----- ----- 2019-09-04 20:05:13 ----- ---------------------------------------- Startupscript running... Installing additional packages... The following packages will be installed: nano Installing additional packages done... cp: der Aufruf von stat für '/opt/iobroker/iobroker' ist nicht möglich: Datei oder Verzeichnis nicht gefunden sed: /opt/iobroker/iobroker kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden Starting ioBroker... ---------------------------------------- ------- ioBroker Logging ------- ---------------------------------------- module.js:550 throw err; ^ Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/controller.js' at Function.Module._resolveFilename (module.js:548:15) at Function.Module._load (module.js:475:25) at Function.Module.runMain (module.js:694:10) at startup (bootstrap_node.js:204:16) at bootstrap_node.js:625:3Habe den Container auch schon mehrfach neu gemacht. Bereitgestellt habe ich ihn mit:
bash-4.3# docker run -d --name ioBroker --restart=always --hostname=ioBroker --net=iobroker --dns=10.1.0.1 --device=/dev/ttyACM0 -v /volume1/docker/iobroker/:/opt/iobroker -it buanet/iobroker:latestIn meinen Augen fehlt was in /opt/iobroker. Klar, ist ja wie gesagt leer weil ich es aus meinem Volume gemountet habe. Aber wenn ich die Anleitung auf buanet.de richtig verstehe sei doch das genau richtig?!
Vielen Dank,
Michael@GrillSgt
Hallo Michael,
ich denke dein Ordner ist nicht wirklich leer... Jedenfalls sehe ich in deinem Log nicht, dass das Script dein Verzeichnis füllt. Demnach ist dann auch keine iobroker-Datei drin und er scheitert...
Mal ganz davon ab, dass ich dieses Verhalten längst mal im Script abfangen wollte :) Versuche mal den Ordner auf dem Host (/volume1/docker/iobroker) zu löschen (nicht nur leeren) und neu zu erstellen. Starte dann noch einmal einen neuen Container...MfG,
André