NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Danke hat jetzt, nachdem ich ein eigenes Bridge Netzwerk angelegt habe hat es geklappt. Daten kommen im Iobroker an.
Ich meine es hätte woh auch über das Standard Bridge funktioniert - hätte ich in meinem Script auch die "BridgeIP" genommen... anstelle der Macvlan Adresse. Denkfehler...
war aber schwere Geburt!
auch allen anderen Beteiligten Vielen Dank für die konstruktiven Vorschläge -
Hallo zusammen,
iobroker läuft eigentlich ohne Probleme im Docker auf meiner DS218+ im Host - Modus.
Leider nur die Console funktioniert nicht mehr seit einiger Zeit, keine Ahnung warum.
Ich habe mir nun Zeit genommen auch die Installation über Portainer einmal auszuprobieren.
Ich habe soweit alles nach Anleitung hinbekommen. Auch hier habe ich den Container im Host-Modus angelegt, und zuvor meine alte Installation in den neu eingerichteten Ordner kopiert.
Beim ersten Start bekomme ich immer die gleichen fünf Zeilen (node:377) im Log und iobroker startet auch nicht.host.Server check instance "system.adapter.fullybrowser.0" for host "Server" host.Server check instance "system.adapter.fb-checkpresence.0" for host "Server" (node:377) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got "H" as reply type byte. Please report this. at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15) at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14) (node:377) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:377) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Kann mir hier jemand weiterhelfen.
Vielen Dank
Heiko
-
Eine kleine Frage bzgl. Portainer.
Wenn ich in meinem ioBroker-Docker-Container mal die ENV anpassen möchte, dann kann ich ja oben auf "Duplicate/Edit" klicken und dann dort unter Advanced container settings - ENV die Einstellungen vornehmen.
Aber jetzt möchte ich ja nur dieses ändern und nicht gleich einen neuen Container generieren oder ähnliches.
Also müsste ich doch "Always pull the image" ausschalten ...
Aber was passiert dann, wenn ich "Deploy the container" klicke?
Holt er sich dann das Image, was er damals schon runtergezogen hat und erzeugt quasi daraus den neuen Container mit den alten bzw neuen Einstellungen von Env?
Bin mir da noch etwas unsicher und wollte über Weihnachten jetzt nicht nur am ioBroker sitzenbtw Frohe Weihnachten euch allen!
-
@tugsi sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Aber was passiert dann, wenn ich "Deploy the container" klicke?
Dann wird ein neuer Container erstellt. Was an sich dich nicht stören sollte, was ich nur schwer beurteilen kann. WIeso meinst du keinen neuen Container erstellen zu wollen?
-
@dos1973 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Danke hat jetzt, nachdem ich ein eigenes Bridge Netzwerk angelegt habe hat es geklappt. Daten kommen im Iobroker an.
Ich meine es hätte woh auch über das Standard Bridge funktioniert - hätte ich in meinem Script auch die "BridgeIP" genommen... anstelle der Macvlan Adresse. Denkfehler...
war aber schwere Geburt!
auch allen anderen Beteiligten Vielen Dank für die konstruktiven Vorschläge@andre @duffbeer2000
ich zitiere mich mal selbst um nochmals den Kontext herzustellen
ich habe inzwischen macvlan und bridge konfiguriert.wenn mein container startet, dann hat mein Harmony Adapter kein Connect?!
Ich muss das Bridge Netzwerk entfernen und kann es gleich wieder hinzufügen, dann läuft der Harmony Adapter wieder.hat jemand einen Vorschlag wie ich das umgehen kann.
mein Container startet jede Nacht um 5:00 Uhr um das Backup zu machen.
Das stammt aus der v2 Buanet Anleitung -
@a200 Vielleicht etwas falsch ausgedrückt.
Erstellt der einen neuen mit neuer Bezeichnung und behält den alten oder überschreibt er den?
Ich denke halt "einfach", es ist doch nur ein ENV-Variable die ich setze, die könnte beim Start des bisherigen Containers doch einfach gesetzt werden und dann brauch er nicht alles neu machen, sprich Zeitersparnis. -
@tugsi da du wahrscheinlich den iobroker in einem gemounteten Verzeichnis hast, wird iobroker-mäßig nichts neu aufgebaut. es wird ein neuer Container mit der neuen ENV-Variable erstellt. Alles andere (iobroker) bleibt unverändert.
-
@tugsi "Always pull the image" sorgt dafür das er jedes mal beim editieren schaut ob er noch die aktuelle Version vom Image hat. Wenn es nichts neueres gibt lädt er auch nichts herunter. Beim editieren wird der alte container gelöscht und ein neuer erstellt. Das ist der Standardweg bei Containern. Wie @a200 schon gesagt hat beibt alles andere unverändert. Vorteil davon ist das man immer einen definierten Stand hat wenn der Container wieder startet und somit auch Probleme schneller behoben sind. Bei der Zeitersparnis geht es hier um ein paar Sekunden wenn es keine neue Version gibt.
-
@dos1973 Was steht denn bei Discovery Subnet im Harmony Adapter? Ich denke da musst du das vom "DS_mcvlan_clients" eintragen.
-
@duffbeer2000 @a200
Danke euch.
und ja, ich habe wie buanet beschrieben hat, iobroker-data in einem gemounteten Verzeichnis.
Ok, dann weiß ich Bescheid -
@duffbeer2000
Aktuell broadcast 255.255.255.255 -
Kleine Frage. Jedes Mal, wenn ich einen installierten Adapter löschen will, sagt mir der ioBroker, dass das nicht funktioniert hat und dass ich das manuell machen soll. Das Installieren eines Adapters sowie der Instanzen und das Aktualisieren klappt dagegen einwandfrei. Jemand eine Idee?
-
@dos1973 Problem ist das ich selbst keine Harmony habe sonst könnte ich es testen. Versuche mal bei Discovery Subnet die 192.168.10.255 oder 192.168.10.0. Könnte funktionieren, alternativ wäre noch die Möglichkeit im Adapter die IP der Harmony fest einzutragen.
-
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Kleine Frage. Jedes Mal, wenn ich einen installierten Adapter löschen will, sagt mir der ioBroker, dass das nicht funktioniert hat und dass ich das manuell machen soll. Das Installieren eines Adapters sowie der Instanzen und das Aktualisieren klappt dagegen einwandfrei. Jemand eine Idee?
Dieses Verhalten ist bei mir das Gleiche unter der Docker Version 4.0
-
@Knallochse sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Dieses Verhalten ist bei mir das Gleiche unter der Docker Version 4.0
Danke.
@andre Kannst du versuchen, das zu fixen?
-
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@whfor Habe es auf meinem Testsystem zum Laufen gebracht. Vielleicht hilft dies hier:
Hallo
ich habe iobroker auf meinem Synology NAS als Docker Container laufen (erstellt nach dem in diesem Thread verlinkten Tutorial) und möchte gerne im node-red Adapter das Modul amazon-echo-hub (Modul von node-red) verwenden, um mit meinem Echo Dot 3 zu kommunizieren.Das node-red Modul muss den Echo bekanntermaßen ja zwingend auf Port 80 ansprechen. Da dieses node-red standardmäßig nicht möglich war Fehlermeldung: "unable to start on port 80" in node-red.
Wollte ich in der Konsole von iobroker über den im obigen Post erwähnten Befehl:setcap 'cap_net_bind_service=+ep' `which node`
node-red die Berechtigung erteilen Port 80 zu verwenden. Leider ohne Erflog beim Ausführen der Anweisung erhalte ich nur folgenden output in der Konsole:
root@iobroker:/opt/iobroker# setcap 'cap_net_bind_service=+ep' `which node` Failed to set capabilities on file `/usr/bin/node' (Operation not supported) The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
Zutr Lösung des Problems habe nochmals in Portainer nohmals einen aktuellen ioBroker-Container über "buanet/iobroker:latest" erstellt und darauf geachtet, dass unter Capabilities NET_BIND_SERVICE aktiviert ist, leider mit selbigen Ergebnis, dass mir beim Ausführen des Kommandos die oben genannte Fehlermeldung angezeigt wird.
Mein Setup:
Synology DS216+II (DSM 6.2.2)
Docker:- Portainer 1.21.0 (bridge)
- iobroker 3.6.12 (MACVLAN)
Woran könnte dieses jetzt liegen?
Bestehen noch andere Möglichkeiten Port 80 für node-red freizugeben? Ich habe noch etwas von iptabels gelesen, ist dies mit Betrieb als Docker Image überhapt möglich, falls ja wo müsste ich diese setzten?
ein starten von node-red mit root rechten über die Konsole mit sudo iobroker start node-red ist leider nicht Ausreichend, in node-red heißt es dann weiterhin "unable to start on port 80".Über Lösungsvorschläge bin ich dankbar.
Grüße
AndreasMod-Edit: Vollzitat gekürzt! Bitte vermeidet Vollzitate! Siehe Forum Regeln, Punkt 2
-
Hallo,
ich habe meine Docker Instanz nach der "neuen" Anleitung aufgesetzt, weil in der alten Node und der Js Controller als Update angemahnt wurden...
Habe die iobroker Instanz aber als host laufen.
Jetzt nach 4-5 Tagen ist sie abgeschmiert und lässt sich nicht mehr starten.
Eine neue Instanz an einem anderen Ort läuft an.
Aber natürlich ohne meine Adapter.
Fehler ist laut Log:
Bin abseits einer Anleitung, leider als DAU zu betrachten und wäre für Hilfe dankbar!!!
Einmal Starten um ein Backup laufen zu lassen, würde ja reichen...
Gruß Thorsten -
Jemand zufällig eine Idee, wie ich das nachfolgende Problem mit wscat in den Griff bekomme?
Brauch wscat für den Samsung.Tizen-Adapter, um einen Token von unserem TV zu empfangen.
-
Vielleicht hilft es: google meint es muss global installiert werden. Deswegen das -g
npm install -g wscat
-
@haselchen sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
npm install -g wscat
Danke für den Tipp. Es war aber noch nicht die ganze Miete. Mit
sudo npm install -g wscat
hat's letztlich funktioniert.