NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Kurze Frage.
Ich habe das ioBroker-Abbild auf meiner DS718+ installiert, als ich noch 2 GB RAM hatte. Später habe ich dann auf 6 GB aufgerüstet. Dies hat der Docker auch direkt erkannt. Mir scheint nur, dass der ioBroker irgendwie immer noch von 2 GB RAM ausgeht. Oder täusche ich mich da?
Falls nein, wie bringe ich dem ioBroker bei, dass insgesamt 6 GB zur Verfügung stehen? Oder muss ich das Abbild dazu neu installieren?
Gruß,
Thorsten
PS.: Bei mir läuft der ioBroker mit sämtlichen Adaptern übrigens einwandfrei.
PPS.: Frohes Neues natürlich.
-
Es gibt einen unterschied zwischen FREI und Available.
Verbraucht + Frei != Gesamt.
Werbraucht + Frei + Cached = Gesamt.
Dann hat dein Docker wohl einen großen Cache
Gruß
Rainer
-
Hi Rainer,
heißt dann also, dass soweit alles in Ordnung ist, oder?
Gruß,
Thorsten
-
Ich denke schon.
Habe aber mit VMs keine Erfahrung
Gruß
Rainer
-
Hi Rainer,
kein Problem. Ich lasse es erst mal so.
Falls mir jemand der Docker-Experten noch einen Hinweis geben könnte, wäre ich aber trotzdem dankbar.
Gruß,
Thorsten
-
@dtp:Kurze Frage.
Ich habe das ioBroker-Abbild auf meiner DS718+ installiert, als ich noch 2 GB RAM hatte. Später habe ich dann auf 6 GB aufgerüstet. Dies hat der Docker auch direkt erkannt. Mir scheint nur, dass der ioBroker irgendwie immer noch von 2 GB RAM ausgeht. Oder täusche ich mich da?
2018-01-01_16h57_13.png
2018-01-01_16h58_28.png
Falls nein, wie bringe ich dem ioBroker bei, dass insgesamt 6 GB zur Verfügung stehen? Oder muss ich das Abbild dazu neu installieren?
Gruß,
Thorsten
PS.: Bei mir läuft der ioBroker mit sämtlichen Adaptern übrigens einwandfrei.
PPS.: Frohes Neues natürlich. `
Ich würde mir da keine großen Gedanken machen. Denke dass der Container schlicht die RAM Änderung der DS nicht mit bekommt/ bekommen kann. Vermutlich würde es reichen den Container zu löschen und neu an zu legen (sofern der ioBroker-Ordner auf die DS ausgelagert wurde).MfG,
André
-
Hallo André,
erstmal vielen Dank für Deine Einsatz, damit war ein ein leichtes ioBroker in Docker auf der DiskStation zu installieren.
Ich habe aber auch das Problem mit dem HomeKit Adapter, dieser startet sich nicht - Fehlermeldung:
! host.ioBroker 2018-01-02 18:29:24.013 error instance system.adapter.yahka.0 terminated with code 1 ()
! Caught 2018-01-02 18:29:24.013 error by controller[0]: at Object.Module._extensions..js (module.js:579:10)
! Caught 2018-01-02 18:29:24.013 error by controller[0]: at Module._compile (module.js:570:32)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.yahka/node_modules/hap-nodejs/node_modules/mdns/lib/dns_sd.js:24:20)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at require (internal/module.js:20:19)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Module.require (module.js:497:17)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Function.Module._load (module.js:438:3)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at tryModuleLoad (module.js:446:12)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Module.load (module.js:487:32)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Object.Module._extensions..node (module.js:597:18)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Error (native)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: Error: /opt/iobroker/node_modules/iobroker.yahka/node_modules/hap-nodejs/node_modules/mdns/build/Release/dns_sd_bindings.node: wrong ELF class: ELFCLASS32
! Caught 2018-01-02 18:29:24.012 error by controller[0]: ^
! Caught 2018-01-02 18:29:24.012 error by controller[0]: throw ex;
! Caught 2018-01-02 18:29:24.011 error by controller[0]: /opt/iobroker/node_modules/iobroker.yahka/node_modules/hap-nodejs/node_modules/mdns/lib/dns_sd.js:35Die Prozesse "dbus-daemon –system", avahi-daemon laufen. Bonjour hatte ich auch schon abgeschaltet aber mit dem selben Ergebnis.
Was kann ich noch tun? Wenn du irgendetwas benötigst, Logs oder etwas anderes lass es mich wissen.
Danke!
Gruß
Alex
-
Ich würde mir da keine großen Gedanken machen. Denke dass der Container schlicht die RAM Änderung der DS nicht mit bekommt/ bekommen kann. Vermutlich würde es reichen den Container zu löschen und neu an zu legen (sofern der ioBroker-Ordner auf die DS ausgelagert wurde). `
Hi André,
danke für Deine Info. Hab mal eben einfach ein neues ioBroker-Abbild erzeugt und vorher das alte umbenannt. War kein Problem und lief innerhalb von Sekunden. Allerdings wurde mir exakt die gleiche Speicherauslastung vom ioBroker angezeigt. Zudem ergab eine Abfrage mit
vmstat -s
im alten Abbild, dass die 6 GB wohl korrekt erkannt wurden. Hab dann das neue Abbild wieder gelöscht und bin zum alten zurück. Alles gut.
Gruß,
Thorsten
-
@ask:Ich habe aber auch das Problem mit dem HomeKit Adapter, dieser startet sich nicht - Fehlermeldung: `
Kurze Frage. Hast Du die Homebridge im Docker-Abbild des ioBroker installiert? Das würde ich ehrlich gesagt nicht machen, sondern ein neues Abbild erzeugen, das unabhängig vom ioBroker-Abbild ist.
Bei mir startet die Homebridge dann zwar korrekt, nur leider kann die Home App sie nicht finden. Aber das ist kein Problem des ioBroker-Abbilds.
Gruß,
Thorsten
-
@dtp:@ask:Ich habe aber auch das Problem mit dem HomeKit Adapter, dieser startet sich nicht - Fehlermeldung: `
Kurze Frage. Hast Du die Homebridge im Docker-Abbild des ioBroker installiert? Das würde ich ehrlich gesagt nicht machen, sondern ein neues Abbild erzeugen, das unabhängig vom ioBroker-Abbild ist.
Bei mir startet die Homebridge dann zwar korrekt, nur leider kann die Home App sie nicht finden. Aber das ist kein Problem des ioBroker-Abbilds.
Gruß,
Thorsten `
Homebridge?
Sinn des Homekit-Adapters im ioBroker ist, die Homebridge nicht mehr zu benötigen.
Bis zum letzten Docker-Update (vermute ich) hat der Adapter einwandfrei im Docker funktioniert.
Ob es nun am Docker oder am Image liegt kann ich allerdings nicht genau sagen. Wie gesagt, hat es schon reibungslos funktioniert.
Gruß Carsten
-
Wie Carsten geschrieben hat, Homebridge benutze ich nicht sondern den HomeKit-Adapter im ioBroker.
Gruß
Alex
-
Da der HK-Adapter ja früher funktionierte habe ich mal bei Synology nachgefragt, um herauszufinden was die geändert haben.
Das ist die Antwort:
! ` > Sehr geehrter Kunde,
vielen Dank für Ihre Anfrage.
Mit dem letzten Update haben wir lediglich einen Fehler mit bestimmten Containern behoben: https://www.synology.com/en-us/releaseNote/Docker
Wenn der Container gestartet werden kann, aber nicht mit Ihrem Apple Home Kit kommuniziert, dann müssten Sie sich zwecks support bitte an den Maintainer des jeweiligen Containers zu wenden (http://forum.iobroker.net/), da wir leider mit der Konfiguration der Container nicht behilflich sein dürfen und können. `
Mit mehr habe ich auch nicht wirklich gerechnet.
-
Da der HK-Adapter ja früher funktionierte habe ich mal bei Synology nachgefragt, um herauszufinden was die geändert haben.
Das ist die Antwort:
! ` > Sehr geehrter Kunde,
vielen Dank für Ihre Anfrage.
Mit dem letzten Update haben wir lediglich einen Fehler mit bestimmten Containern behoben: https://www.synology.com/en-us/releaseNote/Docker
Wenn der Container gestartet werden kann, aber nicht mit Ihrem Apple Home Kit kommuniziert, dann müssten Sie sich zwecks support bitte an den Maintainer des jeweiligen Containers zu wenden (http://forum.iobroker.net/), da wir leider mit der Konfiguration der Container nicht behilflich sein dürfen und können. `
Mit mehr habe ich auch nicht wirklich gerechnet. `
Hast du mal eine Version früher geschaut… am 15.11. gab es ja ein größeres Update des Docker Pakets (Update Docker Daemnon usw...). Das hat mir z.B. die Problematik mit dem Hostname eingebracht...
Wie auch immer... ich würde gerne was zum Homekit-Problem tun, weiß aber nicht was... Wie bereits geschrieben kann ich installieren und er wird grün. Die Funktion kann ich nicht prüfen, weil mein altes iPad keine iOS Updates mehr bekommt und ich somit kein Device besitze welches mit dem Adapter kommunizieren könnte... Falls es eine andere Möglichkeit gibt, lasst es mich wissen.
MfG,
André
-
Ach verdammt,
irgendwie läuft das noch immer nicht richtig.
Der Homekit-Adapter läuft zwar aber vom iOS aus finde ich keine HomeKit Bridge.
… `
Hallo Carsten,
ist das immer noch der Stand? Also dass die Bridge nicht gefunden wird? Beim recherchieren zu yahka habe ich hier noch was gefunden:
http://forum.iobroker.net/viewtopic.php … hka#p39425
Falls die Bridge nicht mehr erkannt wird, hilft es oftmals den "Username" zu ändern. Dieser muss immer in Form einer MAC-Adresse eingegeben werden. `
Vielleicht ist es ja nur noch eine Kelinigkeit? Nachdem ja Avahi und dbus laufen…
Außerdem habe ich gesehen, dass in der Konfiguration des yahka ein Port hinterlegt ist. Standard ist 0 (automatisch). Wenn ich recht erinnere, dann hast du ioBroker ja mit Portforwarding laufen... Hast du dort mal probiert einen festen Port zu verwenden?
MfG,
André
-
So, seit drei Tagen hab ich meinen ioBroker nun auch auf der DS718+ laufen.
Diese hat zwar zur Zeit nur die 2GB RAM aber so wie es aussieht läuft alles Rund, zumindestens bis jetzt.
Hab nur zwei kleinere Probleme:
Problem 1
Dieses Skript funktionert nicht mehr.
var debug = true; // zum debuggen) /** Täglich um 4 Uhr früh den Kalendereintrag auslesen **/ schedule("* 4 * * *", function() { if( getState("ical.0.events.TD").val === true) { if(debug) log("Tagdienst: JA"); setState ("hm-rega.0.12176", true); } else { if(debug) log("Tagdienst: NEIN"); setState ("hm-rega.0.12176", false); } });
Anscheinend startet der shedul das Script nicht mehr.
Hab nur keine Idee warum nicht.
Problem 2
Das mit der automatschen Datensicherung hab ich auch noch nicht hinbekommen.
-
Hallo Carsten,
ist das immer noch der Stand? Also dass die Bridge nicht gefunden wird? Beim recherchieren zu yahka habe ich hier noch was gefunden:
http://forum.iobroker.net/viewtopic.php … hka#p39425
Falls die Bridge nicht mehr erkannt wird, hilft es oftmals den "Username" zu ändern. Dieser muss immer in Form einer MAC-Adresse eingegeben werden. `
Vielleicht ist es ja nur noch eine Kelinigkeit? Nachdem ja Avahi und dbus laufen… `
Ich hatte versucht eine neue ID einzutragen aber Apple findet nichts im Netzwerk.Außerdem habe ich gesehen, dass in der Konfiguration des yahka ein Port hinterlegt ist. Standard ist 0 (automatisch). Wenn ich recht erinnere, dann hast du ioBroker ja mit Portforwarding laufen… Hast du dort mal probiert einen festen Port zu verwenden?
MfG,
André `
Ja, das hatte ich versucht.
Sobald ich etwas mehr Zeit habe werde ich mir mal nen RPI als Multihost-Zwischenlösung aufsetzen.
Bis dahin hoffe ich noch auf einen Geistesblitz
-
So, habe nun, als absoluter Anfänger, auch den iobroker auf meiner DS1515+ am Laufen.
Vielen Dank für das ausführliche und wirklich gut gemachte Tutorial
Bei mir habe ich nur das Problem, dass auf der admin Seite, obwohl ich 8GB Arbeitsspeicher in der Synology verbaut habe, folgendes angezeigt wird:
Insgesamt RAM verbraucht: 311 MB / Frei: 183 MB (2%) [Host: ioBroker - 7 Prozesse]
Woran liegt das?
Grüße
nova
4947_bildschirmfoto_2018-01-17_um_14.04.25.png
4947_bildschirmfoto_2018-01-17_um_14.06.40.png -
@ask:Wie Carsten geschrieben hat, Homebridge benutze ich nicht sondern den HomeKit-Adapter im ioBroker. `
Ah sorry, das habe ich dann etwas falsch interpretiert. Ich nutze den yahka-Adapter nicht, weil er mir zu aufwändig in der Konfiguration ist. Da ziehe ich die Homebridge eindeutig vor.
Aber es scheint da ein grundsätzliches Problem mit dem Zugriff der Home App unter iOS auf den Docker-Container zu geben. Ich habe es nämlich ebenfalls bisher nicht geschafft, auf meine Homebridge zuzugreifen, wenn sie im Docker läuft. Richte ich sie dagegen mit dem exakt gleichen config-json-File und denselben Plugins auf einem Raspi 3 ein, wird sie sofort problemlos erkannt. Ich bin deshalb wieder zurück zum Raspi 3.
Das hilft euch jetzt nicht viel; ich weiß. Aber vielleicht grenzt es die Fehlersuche etwas ein.
-
So, seit drei Tagen hab ich meinen ioBroker nun auch auf der DS718+ laufen.
Diese hat zwar zur Zeit nur die 2GB RAM aber so wie es aussieht läuft alles Rund, zumindestens bis jetzt.
Hab nur zwei kleinere Probleme:
Problem 1
Dieses Skript funktionert nicht mehr.
var debug = true; // zum debuggen) /** Täglich um 4 Uhr früh den Kalendereintrag auslesen **/ schedule("* 4 * * *", function() { if( getState("ical.0.events.TD").val === true) { if(debug) log("Tagdienst: JA"); setState ("hm-rega.0.12176", true); } else { if(debug) log("Tagdienst: NEIN"); setState ("hm-rega.0.12176", false); } });
Anscheinend startet der shedul das Script nicht mehr.
Hab nur keine Idee warum nicht.
Problem 2
Das mit der automatschen Datensicherung hab ich auch noch nicht hinbekommen. `
ich habe die gleiche Station.. bei mir lüppt der schedule…
die Datensicherung kannst du über die Aufgabensteuerung anlegen..
-
Hallo Andre,
ich wollte den iobroker admin aktualisieren…
Das ging leider nicht, weil der aktuelle js-controller nicht vorhanden war.
Via Terminal folgendes eingeben:
npm install iobroker.js-controller --production
Mit folender Ausgabe:
! npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
! npm WARN prefer global node-gyp@3.6.2 should be installed with -g
! iobroker.js-controller@1.2.3 install /opt/iobroker/node_modules/iobroker.js-co
! ntroller
! node iobroker.js setup first
! iobroker@1.0.0 /opt/iobroker
! └─┬ iobroker.js-controller@1.2.3
! ├── iobroker.admin@3.1.6
! ├─┬ npm@2.15.12
! │ ├── ansi@0.3.1
! │ ├── ansicolors@0.3.2
! │ ├── ansistyles@0.1.3
! │ ├── archy@1.0.0
! │ ├── async-some@1.0.2
! │ ├── char-spinner@1.0.1
! │ ├── chmodr@1.0.2
! │ ├── cmd-shim@2.0.2
! │ ├─┬ columnify@1.5.4
! │ │ └─┬ wcwidth@1.0.1
! │ │ └─┬ defaults@1.0.3
! │ │ └── clone@1.0.3
! │ ├─┬ config-chain@1.1.11
! │ │ └── proto-list@1.2.4
! │ ├─┬ dezalgo@1.0.3
! │ │ └── asap@2.0.6
! │ ├── editor@1.0.0
! │ ├── fs-vacuum@1.2.10
! │ ├─┬ fs-write-stream-atomic@1.0.10
! │ │ └── iferr@0.1.5
! │ ├── fstream-npm@1.1.1
! │ ├── github-url-from-git@1.4.0
! │ ├── github-url-from-username-repo@1.0.2
! │ ├── imurmurhash@0.1.4
! │ ├─┬ init-package-json@1.9.6
! │ │ ├── promzard@0.3.0
! │ │ └─┬ validate-npm-package-name@3.0.0
! │ │ └── builtins@1.0.3
! │ ├── lockfile@1.0.3
! │ ├─┬ lru-cache@4.0.2
! │ │ ├── pseudomap@1.0.2
! │ │ └── yallist@2.1.2
! │ ├─┬ node-gyp@3.6.2
! │ │ ├── nopt@3[39m
! │ │ └── builtins@0.0.7
! │ ├── which@1.2.14
! │ └── write-file-atomic@1.1.4
! ├─┬ socket.io@1.7.4
! │ └─┬ engine.io@1.8.5
! │ └── ws@1.1.5
! ├─┬ socket.io-client@1.7.4
! │ └── engine.io-client@1.8.5
! ├─┬ tar@4.3.0
! │ ├─┬ minipass@2.2.1
! │ │ └── yallist@3.0.2
! │ └── yallist@3.0.2
! └── UNMET PEER DEPENDENCY winston@2.4.0
! .0.6
! │ │ └── semver@5.3.0
! │ ├── normalize-git-url@3.0.2
! │ ├── normalize-package-data@2.3.8
! │ ├── npm-cache-filename@1.0.2
! │ ├─┬ npm-install-checks@1.0.7
! │ │ └─┬ npmlog@2.0.4
! │ │ └── gauge@1.2.7
! │ ├── npm-package-arg@4.1.1
! │ ├─┬ npm-registry-client@7.2.1
! │ │ ├─┬ concat-stream@1.6.0
! │ │ │ ├─┬ readable-stream@2.3.3
! │ │ │ │ ├── isarray@1.0.0
! │ │ │ │ └── string_decoder@1.0.3
! │ │ │ └── typedarray@0.0.6
! │ │ └─┬ npmlog@3.1.2
! │ │ └─┬ gauge@2.6.0
! │ │ └── has-color@0.1.7
! │ ├── npm-user-validate@0.1.5
! │ ├─┬ npmlog@2.0.4
! │ │ └─┬ gauge@1.2.7
! │ │ ├── lodash.pad@4.5.1
! │ │ ├── lodash.padend@4.6.1
! │ │ └── lodash.padstart@4.6.1
! │ ├── opener@1.4.3
! │ ├── path-is-inside@1.0.2
! │ ├─┬ read-installed@4.0.3
! │ │ ├── debuglog@1.0.1
! │ │ ├── readdir-scoped-modules@1.0.2
! │ │ └── util-extend@1.0.3
! │ ├─┬ read-package-json@2.0.12
! │ │ ├── json-parse-better-errors@1.0.1
! │ │ └── slash@1.0.0
! │ ├─┬ readable-stream@2.1.5
! │ │ ├── buffer-shims@1.0.0
! │ │ └── isarray@1.0.0
! │ ├── realize-package-specifier@3.0.3
! │ ├─┬ request@2.74.0
! │ │ ├─┬ bl@1.1.2
! │ │ │ └─┬ readable-stream@2.0.6
! │ │ │ └── isarray@1.0.0
! │ │ ├── caseless@0.11.0
! │ │ ├─┬ form-data@1.0.1
! │ │ │ └── async@2.6.0
! │ │ ├─┬ har-validator@2.0.6
! │ │ │ ├─┬ chalk@1.1.3
! │ │ │ │ ├── ansi-styles@2.2.1
! │ │ │ │ ├── escape-string-regexp@1.0.5
! │ │ │ │ ├── has-ansi@2.0.0
! │ │ │ │ └── supports-color@2.0.0
! │ │ │ └─┬ is-my-json-valid@2.17.1
! │ │ │ ├── generate-function@2.0.0
! │ │ │ ├─┬ generate-object-property@1.2.0
! │ │ │ │ └── is-property@1.0.2
! │ │ │ └── jsonpointer@4.0.1
! │ │ ├── node-uuid@1.4.8
! │ │ ├── qs@6.2.3
! │ │ └── tunnel-agent@0.4.3
! │ ├── retry@0.10.1
! │ ├── semver@5.1.1
! │ ├─┬ sha@2.0.1
! │ │ └─┬ readable-stream@2.3.3
! │ │ ├── isarray@1.0.0
! │ │ └── string_decoder@1.0.3
! │ ├── slide@1.1.6
! │ ├── sorted-object@2.0.1
! │ ├── text-table@0.2.0
! │ ├── umask@1.1.0
! │ ├─┬ validate-npm-package-name@2.2.2[37;40mnpm WARN enoent ENOENT: no such fi
! le or directory, open '/opt/iobroker/node_modules/engine.io/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/greenlock/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/engine.io-client/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/jszip/package.json'
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modu
! les/winston/package.json'
! npm WARN winston-daily-rotate-file@1.7.2 requires a peer of winston@2.x but none
! was installed.Seit dem startet iobroker nicht mehr mit folgender Ausgabe…
! root@buanet-iobroker1:/opt/iobroker# iobroker start
! Starting iobroker controller daemon…
! /opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136
! throw new Error(msg.error);
! ^
! Error: Error: Cannot find module 'winston/lib/winston/common'
! at Function.Module._resolveFilename (module.js:469:15)
! at Function.Module._load (module.js:417:25)
! at Module.require (module.js:497:17)
! at require (internal/module.js:20:19)
! at Object. <anonymous>(/opt/iobroker/node_modules/winston-daily-rotate-file/
! index.js:6:14)
! at Module._compile (module.js:570:32)
! at Object.Module._extensions..js (module.js:579:10)
! at Module.load (module.js:487:32)
! at tryModuleLoad (module.js:446:12)
! at Function.Module._load (module.js:438:3)
! at ChildProcess. <anonymous>(/opt/iobroker/node_modules/daemonize2/lib/daemo
! nize.js:136:19)
! at emitTwo (events.js:106:13)
! at ChildProcess.emit (events.js:191:7)
! at process.nextTick (internal/child_process.js:787:12)
! at _combinedTickCallback (internal/process/next_tick.js:73:7)
! at process._tickCallback (internal/process/next_tick.js:104:9)</anonymous></anonymous>
Ich bin am verzweifeln, google konnte mir auch nicht weiter helfen.Vielen Dank
Gruß Dirk