NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@FoodFighter Nein das verstehst du nicht komplett falsch, das Base-Image enthält aber nur die wichtigsten Komponenten der Distribution. Den Kernel teilt es sich z.B. mit dem Host. Deshalb sind die Base-Images auch so klein.
Ein Container der auf Stretch basiert läuft auch unter einem Host mit Buster. -
@duffbeer2000
Vielen Dank, jetzt hab ich's kapiert. -
@Holzlenkrad sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Du bist immer noch auf Stretch, weil es irgendwann mal irgendwelche Probleme gab oder?
Ich weiß nicht mehr woran es damals lag. Seitdem fehlte einfach die Zeit es nochmal zu probieren.
@Holzlenkrad sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Hast du mittlerweile mal wieder Buster ausprobiert?
Gerade eben. Der Build ist durch gelaufen. Die aktuelle Beta-Version ist jetzt Buster. Wenn ihr fleißig testet geht das zeitnah in eine neue Latest-Version.
@Holzlenkrad sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Können wir dir vielleicht bei konkreten Problemen weiter helfen?
Da du dich ja gerade freiwillig gemeldet hast, bitte testen.
@Holzlenkrad sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Und was ist der Hintergrund, dass du für ARM das Balena-Image nutzt?
Wie @duffbeer2000 schon gesagt hat. Mit den Standard-Images (https://hub.docker.com/_/debian) ist leider offenbar kein cross build möglich. Habe aber auch das Balena-Image auf Buster gewechselt...
MfG,
André -
@andre
Danke, sehr schön.
Werde ich auf jeden Fall mal ausprobieren!Mit dem Thema Cross Build kenne ich mich tatsächlich absolut nicht aus, weil ich bis jetzt nur Images auf Hosts gebaut habe, auf denen die dann später auch liefen. Kann mich da aber auch mal einlesen.
-
wie reiche ich einen Bluetooth stick an den container durch?
lsusb:
|__usb1 1d6b:0002:0310 09 2.00 480MBit/s 0mA 1IF (xhci_hcd 0000:00:14.0) hub |__1-2 1a40:0101:0111 09 2.00 480MBit/s 100mA 1IF ( ffffffd6ffffffa3ffffffebffffffcb) hub |__1-2.1 0a12:0001:8891 e0 2.00 12MBit/s 100mA 2IFs ( ffffff84ffffffb5fffffff4ffffffd4) |__1-5 f400:f400:0100 00 2.00 480MBit/s 200mA 1IF (Synology DiskStation 6500647A17A34F47) |__usb2 1d6b:0003:0310 09 3.00 5000MBit/s 0mA 1IF (xhci_hcd 0000:00:14.0) hub |__usb3 1d6b:0002:0310 09 2.00 480MBit/s 0mA 1IF (Linux 3.10.105 etxhci_hcd-170202 Etron xHCI Host Controller 0000:04:00.0) hub |__3-2 1d19:0100:0100 00 2.00 480MBit/s 500mA 1IF (ITE Tech., Inc. TS Aggregator AF0102020700001) |__usb4 1d6b:0003:0310 09 3.00 5000MBit/s 0mA 1IF (Linux 3.10.105 etxhci_hcd-170202 Etron xHCI Host Controller 0000:04:00.0) hub |__4-1 1058:10b8:1012 00 3.00 5000MBit/s 896mA 1IF (Western Digital Elements 10B8 575846314541343239554B45)
dmesg
[1314575.781230] usb 1-2.1: USB disconnect, device number 4 [1314576.488411] init: btacd main process (6752) killed by TERM signal [1314576.627053] usbcore: deregistering interface driver btusb [1314580.119372] usb 1-2.1: new full-speed USB device number 5 using xhci_hcd [1314580.145014] Got empty serial number. Generate serial number from product. [1314581.463887] init: bluetoothd main process (6730) killed by KILL signal [1314585.303769] Bluetooth: RFCOMM socket layer initialized [1314585.309743] Bluetooth: RFCOMM ver 1.11 [1314585.329282] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [1314585.336142] Bluetooth: HIDP socket layer initialized [1314585.352945] usbcore: registered new interface driver btusb
kann mir da jemand helfen?
-
-
Hallo ihre lieben,
ich habe nun meinen VMs/Docker Server von proxmox auf unRaid umgestellt und in diesem Zuge auch von einer ioBroker VM auf Container von buanet gewechselt der soweit auch läuft ausser der Radar2 Adapter.
Da bekomme ich im Log
radar2.0 2020-04-11 19:36:10.985 info (2356) Adapter disconnected and stopped with dostop(false) and callback(true) radar2.0 2020-04-11 19:36:10.984 error at process._tickCallback (internal/process/next_tick.js:63:19) radar2.0 2020-04-11 19:36:10.984 error at onErrorNT (internal/child_process.js:415:16) radar2.0 2020-04-11 19:36:10.984 error at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19) radar2.0 2020-04-11 19:36:10.984 error (2356) Error: spawn arp ENOENT radar2.0 2020-04-11 19:36:10.984 error (2356) uncaught exception: spawn arp ENOENT radar2.0 2020-04-11 19:36:10.930 info (2356) Will try to scan BT devices: false radar2.0 2020-04-11 19:36:10.923 info (2356) radar2 set to scan every 20 seconds and printers every 720 minutes. radar2.0 2020-04-11 19:36:10.923 info (2356) arp-scan will use the following interfaces: [ 'eth0' ] radar2.0 2020-04-11 19:36:10.923 info (2356) Remove name end for host names: .fritz.box radar2.0 2020-04-11 19:36:10.923 info (2356) use known IP list: [ '1.1.1.1' ] radar2.0 2020-04-11 19:36:10.923 info (2356) use known BT list: [ '01:12:23:34:45:56' ] radar2.0 2020-04-11 19:36:10.923 info (2356) radar2 set to flag items away if they are not seen for 2 minutes radar2.0 2020-04-11 19:36:10.923 warn (2356) node-bluetooth not found! radar2.0 2020-04-11 19:36:10.922 warn (2356) Noble not available, Error: { Error: EAFNOSUPPORT, Address family not supported by protocolat new Hci (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)at new NobleBin radar2.0 2020-04-11 19:36:10.889 info (2356) Connected with '0.0.0.0' for DHCP Scan radar2.0 2020-04-11 19:36:10.852 info (2356) radar2 initialization started... radar2.0 2020-04-11 19:36:10.798 info (2356) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.19.0
Mir ist im Prinzip klar was da fehlt nämlich node-bluetooth wenn ich das richtig verstanden habe.
Nur meine Frage ist wie bekomme ich das nach instaliert damit der Adapter läuft ohne kann ich irgendwie das BT ausschalten denn ich nutze es nicht. Aber wäre gut wenn man das irgendwie nach installieren kann.
Hoffe auf eure Hilfe
MFG Maggi
-
@csamaggi sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
radar2.0 2020-04-11 19:36:10.984 error (2356) Error: spawn arp ENOENT
Das ist das relevante. Du hast "arp" als Kommando nicht installiert
-
So ich habe nun Bluetooth und arp hiemit installiert
apt-get install libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev
Doch nun bekomme ich folgende Meldung wenn ich hciconfig ausführe
Can't open HCI socket.: Address family not supported by protocol
Auch im Log ändert nicht die gleiche Meldung.
MFG Maggi
-
@csamaggi Naja jetzt musst Du schauen wie Du im Docker auf quasi ein Serielles Devcie zugreifst ... hci/bluetooth ist ja nix anderes, Da bin ich jetzt raus
-
@andre : hast Du einen Tip, wie ich in Deinem docker container den neuen mihome vacuum adapter (Version 2.0.9) installiert bekomme.?
github seite mihome-vacuumDirekt im iobroker (also in deinem docker image) scheitert das bei mir immer an der Installation des Pakets canvas 2.6.1. Auf der github Seite des Adapters wird dieser Fehler beschrieben:
Error at installation if your installation runs in error. The canvas package could not be install npm ERR! canvas@2.6.1 install: node-pre-gyp install --fallback-to-build npm ERR! Exit status 1 Please install canvas and the libs manually with: sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev sudo npm install canvas --unsafe-perm=true
Leider scheitert bei mir im docker image immer dann das "npm install canvas --unsafe-perm=true" (außerdem wäre das ganze vermutlich auch nicht persistent).
Ich poster gerne noch ausführliche logs/Fehlermeldungen wenn Du brauchst.
Danke für Deine Hilfe!
Tim -
@csamaggi
Hast du dich um die Capabilities gekümmert? Siehe "Installation" auf github (https://github.com/frankjoke/ioBroker.radar2).
Die Capabilities müssen auch in der Konfiguration des Containers gesetzt werden.
Außerdem empfehle ich die die benötigten Linux Pakete über die ENV PACKAGES installieren zu lassen.MfG,
André -
@ts020339
Hallo Tim,
irgendwo ist mir das doch die Tage schonmal über den Weg gelaufen... Schreib mir doch bitte dazu mal einen Issue auf github, dann kann ich sehen was man da machen kann.
Wenn das Voraussetzungen für einen Adapter sind, will ich die gerne im Image unterstützen.MfG,
André -
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
irgendwo ist mir das doch die Tage schonmal über den Weg gelaufen
Das könnte ich gewesen sein (28.03.20) Hier ist der Beitrag .
Bei mir lag es daran, dass die benötigten Pakete über die ENV-Variable nicht installiert wurden, da die Installation durch das nicht vorhandene vi-Paket auf dem RaspPi abgebrochen wurde und mir das durch in der Log nicht aufgefallen ist.
Das hast Du ja mittlerweile freundlicherweise alles behoben@ts020339
trage mal folgende Pakete in die ENV-PACKAGES-Variable ein:build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Danach sollte es laufen.
Für die Karten-Darstellung dann evtl. noch "canvas" als zusätzliches Modul in der javascript-Adapter-Einstellungen eintragen
-
Da du dich ja gerade freiwillig gemeldet hast, bitte testen.
Ich habe das aktuelle Beta-Image installieren. Bin beim Testen fast verrückt geworden, weil nichts funktioniert hat. Leider bin ich gleichzeitig auch auf einen Raspberry Pi 4 umgestiegen und dort gibt es im Kernel einen Bug im ARP Stack, sodass das Interface nicht erreichbar war. Lösung und Beschreibung hier: https://forums.docker.com/t/docker-container-not-reachable-from-the-outside-only-after-ping-from-the-inside-macvlan/89629
Hab das ganze natürlich erstmal auf dein Image geschoben Deswegen, nie zu viel auf einmal ändern...
Aber jetzt wo es läuft funktioniert alles ohne Probleme. Ich sehe keinen Grund, wieso du nicht auf Buster setzen solltest. Natürlich müssen noch mehr Leute die Beta testen, vor allem die x64 Version sollte wohl noch getestet werden
Danke!
-
@FoodFighter Danke, das war es. Hirn ist gerade im Ostermodus. Das mit dem Modul im Javascript ist interessant. Hast du da mal nen Screenshot? Installiert er darüber dann npm Module nach? Wäre auch für andere Sachen interessant.
MfG,
André -
@Holzlenkrad Da stimme ich dir zu. Bloß nicht zu viel auf einmal ändern.
Ich habe gestern auch alles auf einmal gemacht. Habe mein Livesystem von der DS (musste ein paar Ressourcen frei machen) auf eine Debian VM mit Docker unter Hyper-V auf einem Win 10 Intel Nuc umgezogen und bin gleichzeitig auf das neue Beta Image gewechselt...
Mit umgezogen sind natürlich auch die weiteren Container mit redis, mariadb, influxdb und grafana. Zum Glück alles ohne größere Probleme.
Jetzt hab ich endlich produktiv mal mit "Stack" im Portainer gearbeitet. Das schreit irgendwie nach nem neuen Tutorial...In diesem Zusammenhang kann ich jetzt übrigens endlich auch bestätigen, dass der Restore vom "iobroker backup" (nur Backup file im iobroker Ordner, beim Start des Containers) auch bei umfangreichen Installationen problemlos funktioniert. Allerdings hat es ca. 1,5 Stunden gedauert, bis iobroker meine 51 Adapter nachinstalliert hatte...
Zeitaufwand für den kompletten Umzug ca. 4 Stunden (inklusive Einrichtung eines neuen Backup Scripts).MfG,
André -
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das mit dem Modul im Javascript ist interessant. Hast du da mal nen Screenshot? Installiert er darüber dann npm Module nach?
So wie ich das verstehe installiert er dadrüber dann die eingetragenen NPM-Module nach, ja
Bezüglich der Karte vom RoboRock-S5-Staubsauger (mit Valetudo) funktioniert das bei mir.
Ich hatte das aus mehreren Quellen zusammen getragen.
Zum einen hier im Video
Zum Anderen hier bei Github (ich nutze den V3-Script)Hier steht auch beschrieben, dass der Script eigentlich gar nicht mehr nötig ist und die Live-Map direkt über den Adapter konfiguriert werden kann.
Ist auch ziemlich verwirrend, weil die Repo einmal über iobroker-community-adapters (scheint die "offizielle" zu sein) und einmal über MeisterTR läuft.Über den Mihome-Adapter soll das HTML-Bild in mihome-vacuum.0.map.map64 liegen, dieses Objekt bleibt bei mir allerdings leer (der Rest des Adapters funktioniert einwandfrei).
Über den JS-Script landet das HTML-Bild in javascript.0.vis.RockroboMap - das funktioniert bei mir sehr gut - auch wenn es ärgerlich ist, weil ein "unnötiger" Script läuft.Vielleicht liegt das einfach daran, dass "canvas" und "xmlhttprequest" im javascript als NPM-Modul nachinstallieren lassen kann, im Mihome-Adapter aber nicht (bzw. dieses anderweitig erledigen müsste?)
Ich wüsste nicht, wie ich das anderweitig im Container löse. -
@Holzlenkrad said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
sodass das Interface nicht erreichbar war. Lösung und Beschreibung hier: https://forums.docker.com/t/docker-container-not-reachable-from-the-outside-only-after-ping-from-the-inside-macvlan/89629
woah...ernsthaft - DANKE!
Ich habe schon an meinem Verstand gezweifelt, weil ich das macvlan nicht zum laufen bekam (exakt das gleiche Verhalten -> alles funktionierte erst nach einem Ping von innen heraus).
Ich habe es dann aufgegeben und im Bridge-Mode alle Ports durch geroutet.Im Host-Modus startet der Container bei mir zwar erfolgreich, aber der Admin-Adapter bricht seinen Dienst direkt wieder ab, was ich mir auch überhaupt nicht erklären kann.
Über die Log des Containers erhalte ich folgende Fehler:================================== > LOG REDIRECT system.adapter.admin.0 => true [starting], ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped], ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging],
Das hatte ich hier schon mal angefragt - war vermutlich die falsche Anlaufstelle.
Im Bridgemode mit entsprechenden Ports funktioniert soweit alles. (Komplett identische Container-Einstellungen wie im Host-Mode, nur der Netzwermodus wurde von Host auf Brige geändert und die paar Ports durchgeroutet)
-
Kann man das BT im Adapter deaktivieren?
Da ich im Moment kein Device dran habe und er im Log meckert und nicht startet
host.iobroker 2020-04-12 12:39:48.678 info Do not restart adapter system.adapter.radar2.0 because disabled or deleted host.iobroker 2020-04-12 12:39:48.678 error instance system.adapter.radar2.0 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND) radar2.0 2020-04-12 12:39:48.169 warn (9677) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason radar2.0 2020-04-12 12:39:48.165 error (9677) adapter disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.739 info "system.adapter.radar2.0" disabled host.iobroker 2020-04-12 12:39:46.127 info Restart adapter system.adapter.radar2.0 because enabled host.iobroker 2020-04-12 12:39:46.127 info instance system.adapter.radar2.0 terminated with code 0 (NO_ERROR) host.iobroker 2020-04-12 12:39:46.127 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:61:11) errno: 19, code: 'ENODEV', syscall: 'bind' } host.iobroker 2020-04-12 12:39:46.127 error Caught by controller[0]: at process.nextTick (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:60:24) host.iobroker 2020-04-12 12:39:46.127 error Caught by controller[0]: at NobleBindings.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:78:13) host.iobroker 2020-04-12 12:39:46.127 error Caught by controller[0]: at Hci.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35) host.iobroker 2020-04-12 12:39:46.127 error Caught by controller[0]: { Error: ENODEV, No such device radar2.0 2020-04-12 12:39:46.102 info (9655) Adapter disconnected and stopped with dostop(false) and callback(true) radar2.0 2020-04-12 12:39:46.102 error (9655) Error: ENODEV, No such device at Hci.init (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35) at NobleBindings.init (/opt/iobroker/node_modules/@abandonware/nob radar2.0 2020-04-12 12:39:46.101 error (9655) uncaught exception: ENODEV, No such device radar2.0 2020-04-12 12:39:46.096 info (9655) radar2 set to scan every 20 seconds and printers every 720 minutes. radar2.0 2020-04-12 12:39:46.096 info (9655) arp-scan will use the following interfaces: [ 'enp1s0' ] radar2.0 2020-04-12 12:39:46.096 info (9655) Remove name end for host names: .fritz.box radar2.0 2020-04-12 12:39:46.095 info (9655) use known IP list: [ '1.1.1.1' ] radar2.0 2020-04-12 12:39:46.095 info (9655) use known BT list: [ '01:12:23:34:45:56' ] radar2.0 2020-04-12 12:39:46.095 info (9655) radar2 set to flag items away if they are not seen for 2 minutes radar2.0 2020-04-12 12:39:46.094 info (9655) found 'node-bluetooth' radar2.0 2020-04-12 12:39:46.092 info (9655) found '@abandonware/noble' radar2.0 2020-04-12 12:39:46.048 info (9655) Connected with '0.0.0.0' for DHCP Scan radar2.0 2020-04-12 12:39:46.000 info (9655) radar2 initialization started... radar2.0 2020-04-12 12:39:45.923 info (9655) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.0
MFG Maggi