NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
ÜBERARBEITUNG dieses Beitrags am 15.10.2020
Es ist viel Wasser die Elbe hinab geflossen und auch der ioBroker unter Docker hat sich verändert, sodass dieses Thema in seine Komplexität schlicht nicht (mehr) in einen Post passt.
Aus diesem Grund ist das Tutorial aus diesem Post nicht mehr aktuell und wird auch nicht weiter gepflegt.
Für weitere Informationen zum Thema ioBroker unter Docker (mit oder ohne Synology DiskStation) stelle ich euch ab heute eine eigene Website zur Verfügung welche ich Stück für Stück mit relevanten Informationen zum Thema erweitern werde. Dieses und weitere Tutorials findet ihr ab sofort unter:Direktlink:
(https://smarthome.buanet.de/2019/05/iobroker-unter-docker-auf-der-synology-diskstation-v3/)Selbstverständlich bleibt dieser Threat hier als Support-Thread geöffnet. Es wird auch von niemanden verlangt die 2000+ Post zu lesen! Trotzdem hoffe ich. dass ihr den Thread vor dem Stellen der Frage einmal durchsucht.
@Glasfaser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Danke andre , für deine kurze Stellungnahme ;)
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das kann man sicher nicht erwarten! Was ich aber beobachte ist, dass offenbar nur die Wenigsten wissen, dass man auch einen Thread durchsuchen kann. Denn dann werden aus 2100 Beiträgen plötzlich nur 20 oder 30 Posts zu einem bestimmten Thema... Immer noch
mühsam, aber das ist eben so!Damit andere wissen was du meinst :
In User Einstellung aktivieren :

STRG + F

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Original Post vom 2. Februar 2017
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKleine Wette:
Ich wette, dass es möglich ist ioBroker in weniger als zwei Minuten in Betrieb zu nehmen ohne einen einzigen Befehl in eine Kommandozeile einzutippen. :)
Spaß beiseite, ich habe mich in den vergangenen Tagen einmal ausgiebig mit dem Virtualisierungstool Docker beschäftigt. Herausgekommen ist dieses kleine aber feine Setup inkl. einem ioBroker-Docker-Image auf Basis von Debian. Vielleicht ja eine echte Alternative zu Einplatinen-Rechnern oder Dauerlauf-PCs….
Vorraussetzung:
- Unterstütze Synology DiskStation mit installiertem Docker Paket (https://www.synology.com/de-de/dsm/app_packages/Docker)
Dann kann es auch schon los gehen…
Schritt 1: Image herunterladen
Öffne den Bereich "Registrierung" in der Docker-Oberfläche auf des Synology DiskStation und gebe in das Suchfeld "iobroker" ein. Markiere das Image "buanet/iobroker" und klicke auf dne Downloas-Button. Das Image wird nun heruntergeladen.

Schritt 2: Container aus Image erstellenÖffne den Bereich "Abbild" in der Docker-Oberfläche. Hier sollte nun das Image "buanet/iobroker:latest" zur Verfügung stehen. Wähle das Image aus und klicke auf den Starten-Button.

Es öffnet sich ein Wizard zum Erstellen eines Containers. Vergebe einen Containernamen und klicke auf den Button "Erweiterte Einstellungen".
In den Erweiterten Einstellungen wähle das Kontrollkästchen "Automatischen Neustart aktivieren" aus um sicherzustellen, dass der Container sich im Fehlerfall selbstständig neu startet.
Unter Netzwerk wähle "Dasselbe Netzwerk wie Docker Host verwenden". Diese Einstellung sorgt dafür, dass siche ioBroker später "anfühlt" als würde es direkt auf der DiskStation laufen und vermeidet Probleme mit dem Hostnamen.
Schließe die Erweiterten Einstellungen mit OK, und klicke den Weiter-Button. In der Zusammenfassung sind nochmals alle Einstellungen aufgeführt. Klicke auf "Übernehmen".
Schritt 3: Container überprüfenÖffne den Bereich "Container" in der Docker-Oberfläche. Hier sollte nun der erstellte Container erscheinen. Prüfe ob der Container eingeschaltet ist und sich im Status "Läuft" befindet.

Wähle den Container aus und klicke auf "Details".
Unter "Prozess" siehst du ob ioBroker erfolgreich gestartet ist. Falls dem so ist, sieht es ungefähr so aus:
Unter "Terminal" hast du direkten Zugriff auf die Kommandozeile des Containers. Sollte die Kommandozeile leer sein, klicke in das große graue Feld und drücke Enter. Nun sollte es wie folgt aussehen:
Über die Kommandozeile kannst du nun z.B. optionale Softwarepakete nachinstallieren (manche Adapter/ Funktionen benötigen das) oder auch mit den bekannten Befehlen deine ioBroker-Installation steuern, wie z.B. einen Neustart des Dienstes:cd /opt/iobroker iobroker stop iobroker startSchritt 4: ioBroker Weboberfläche öffnen
Wenn der Container ordnungsgemäß eingerichtet und gestartet ist, sollte deine neue ioBroker-Installation nun über das Webinterface erreichbar sein. Öffne dazu einfach den entsprechenden Pfad in einem Webbrowser:
http://[name_oder_ip_der_diskstation]:8081Als kleines Goodie obendrauf, hier die Anleitung nochmal als kleines Video: https://www.youtube.com/watch?v=G-A3Q1Pq0YQ
Ich habe meine ioBroker Installation vor 2 Tagen auf Docker umgezogen. Bisher keine Probleme.
Aktuell habe ich noch kein automatisiertes Backup aktiv (muss noch ein Script schreiben). Manuell lässt sich der ioBroker Container ganz einfach über die Docker-Öberfläche sichern: Bereich "Container", ioBroker Container auswählen, unter "Einstellungen" > "Export" wählen und "Containerinhalt und -einstellungen exportieren". Dann lässt sich das Backup direkt auf der Synology ablegen.
MfG,
André
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hinzugefügt am 08.03.2017
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEs gibt ein neues Docker-Image im Docker Hub (sobald es fertig generiert ist). Darin enthalten jetzt ein Fix für die Zeitzone. Es sollte ab sofort automatisch Europe/Berlin eingestellt sein.
Außerdem habe ich ein bisschen rum experimentiert und es jetzt ermöglicht auch Updates des Docker Images einfach einspielen zu können. Dazu liegt mein ioBroker-Verzeichnis jetzt direkt auf der Synology und wird nur in den Container gemountet. Dies ermöglicht es nun den Container aus zu tauschen und meine ioBroker-Installation bei zu behalten.
Das Ganze betrachte ich jetzt mal als Thema für "Fortgeschrittene" weshalb ich meine Anleitung jetzt auch ein wenig kürzer fasse.
Advanced Schritt 1.
ioBroker-Verzeichnis "erstellen" (oder halt ein eigenes Backup nehmen):
Damit wir ein lauffähiges ioBroker-Verzeichnis bekommen muss einmal ein Container nach der obigen Anleitung erstellt werden. Läuft der Container, kann man über die Kommandozeile einfach ioBroker stoppen und das komplette ioBroker-Verzeichnis aus dem Container heraus auf die Synology kopieren, z.B. in den Ordner /volume1/docker/iobroker.
Ich habe dazu den ioBroker-Ordner im Container in ein .tar-Verzeichnis gepackt, über ein gemountetes Verzeichnis auf die Synology kopiert und dort wieder entpackt.
Advanced Schritt 2.
Den Container aus Advanced Schritt 1 löschen und einen neuen erstellen (gerade gesehen, man muss nicht löschen, man kann auch bearbeiten). In Schritt zwei der "einfachen" Anleitung vor dem Schließen der erweiterten Einstellungen die Registerkarte "Volume" öffnen und den Pfad /opt/iobroker im Container auf den Pfad im Dateisystem der Synology (z.B. /docker/iobroker) mounten. So sieht das aus:

Wichtig: Der Ordner auf der Synology muss sich in einem "gemeinsamen Ordner" befinden welcher über die Oberfläche des DiskStation angelegt worden ist. Bei mir ist das der Ordner "docker" (Im Filesystem der DiskStation also /volume1/docker).Advanced Schritt 3.
Weiter wie in der Anleitung oben.
Wir sollten nun einen Docker-Container haben, der für das ioBroker-Verzeichnis auf das Dateisystem der DiskStation zugreift.
Falls es nun vielleicht ein Update des Images gibt, können wir das Image einfach herunter laden, den alten Container deaktivieren oder löschen und wie beschrieben einen neuen Container mit gemountetem Verzeichnis aus dem neuen Image erstellen. Die ioBroker Installation bleibt davon unberührt (auf der DiskStation).
Hi @andre und alle anderen ioBroker-Fans!
Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.
Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.
Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:
root@xyz:/opt/iobroker# pkill io root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt npm ERR! code EINVALIDTAGNAME npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.logDas Log File zeigt folgendes:
Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?
Viele Grüße
Jo
-
Hi @andre und alle anderen ioBroker-Fans!
Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.
Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.
Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:
root@xyz:/opt/iobroker# pkill io root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt npm ERR! code EINVALIDTAGNAME npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.logDas Log File zeigt folgendes:
Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?
Viele Grüße
Jo
@jgee2 Ich glaube, nach dem Update von NPM musst du einen reinstall machen. Such mal nach reinstall.sh
-
Hi @andre und alle anderen ioBroker-Fans!
Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.
Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.
Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:
root@xyz:/opt/iobroker# pkill io root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt npm ERR! code EINVALIDTAGNAME npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.logDas Log File zeigt folgendes:
Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?
Viele Grüße
Jo
@jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Invalid tag name "–-production":
Mache es so ...
vorher mal ... schadet nicht
apt-get update apt-get upgradecurl -sL https://deb.nodesource.com/setup_12.x | bash - apt install -y nodejs npm rebuild -
@jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Invalid tag name "–-production":
Mache es so ...
vorher mal ... schadet nicht
apt-get update apt-get upgradecurl -sL https://deb.nodesource.com/setup_12.x | bash - apt install -y nodejs npm rebuilddanke für den Tipp. Leider habe ich den gleicher Fehler immer noch. Vielleicht mache ich aber was grundsätzlich falsch. Ich bin so vorgegangen:
- per SSH als root auf die Synology
- per "docker exec -it <container name> /bin/bash" in den Container
- dort wie von dir beschrieben die Kommandos abgesetzt.
- danach iobroker per "gosu iobroker node node_modules/iobroker.js-controller/controller.js" neugestartet.
Das Ergebnis ist:
host.xyz check instance "system.adapter.admin.0" for host "xyz" host.xyz check instance "system.adapter.discovery.0" for host "xyz" host.xyz check instance "system.adapter.info.0" for host "xyz" host.xyz check instance "system.adapter.smartmeter.0" for host "xyz" host.xyz check instance "system.adapter.knx.0" for host "xyz" host.xyz check instance "system.adapter.influxdb.0" for host "xyz" host.xyz check instance "system.adapter.robonect.0" for host "xyz" host.xyz check instance "system.adapter.sma-speedwire.0" for host "xyz" host.xyz check instance "system.adapter.javascript.0" for host "xyz" host.xyz check instance "system.adapter.feiertage.0" for host "xyz" host.xyz check instance "system.adapter.web.0" for host "xyz" host.xyz check instance "system.adapter.sonos.0" for host "xyz" host.xyz check instance "system.adapter.unifi.0" for host "xyz" host.xyz check instance "system.adapter.vis.0" for host "xyz" host.xyz check instance "system.adapter.vaillant.0" for host "xyz" host.xyz check instance "system.adapter.alexa2.0" for host "xyz" host.xyz check instance "system.adapter.iot.0" for host "xyz" ================================== > LOG REDIRECT system.adapter.javascript.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.javascript.0 => false [system.adapter.javascript.0.logging]Mach ich was grundsätzlich falsch?
@Knallochse, das script habe ich leider nicht finden können.
-
@FoodFighter sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich habe jetzt auch einfach mal für jeden Container ein vollumfassendes Compose-File gemacht.
Schaden kann es nicht, ich sehe es als Einstellungs-Backup.
Ich habe bewusst für jeden Container ein eigenes Compose-File erstellt zwecks Modularität.Zur Vollständigkeit auch meine kompletten Docker-(Compose) Files:
Hatte mich davon inspiriert vorhin auch daran versucht das Netzwerk per Docker zu erzeugen (geht ja schneller als mit Portainer). Leider hat dein Beispiel erst bei mir funktioniert, als ich noch die Parent network card mit angegeben habe (vorher war der ioBroker nicht sichtbar, IP 224 nicht anpingbar).
docker network create --driver=macvlan --subnet=192.168.1.0/24 --ip-range=192.168.1.224/28 --gateway=192.168.1.1 -o parent=eth0 iobroker-networkMacht auch Sinn, da dies in Portainer ein Pflichtfeld für MACVLAN ist. Kannst du mir erklären, warum das bei dir ja offensichtlich ohne funktioniert?
@stevie77 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Macht auch Sinn, da dies in Portainer ein Pflichtfeld für MACVLAN ist. Kannst du mir erklären, warum das bei dir ja offensichtlich ohne funktioniert?
Ja macht Sinn und ist auch richtig so - das ist mir durch die Lappen gegangen.
Danke für den Hinweis - Ich hab es oben korrigiert -
Hi @andre und alle anderen ioBroker-Fans!
Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.
Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.
Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:
root@xyz:/opt/iobroker# pkill io root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt npm ERR! code EINVALIDTAGNAME npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.logDas Log File zeigt folgendes:
Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?
Viele Grüße
Jo
@jgee2
Hallo Jo,
ich glaube du bringst da irgendwas durcheinander...@jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.
Was hast du jetzt genau vor? Du schreibst "NPM" aktualisieren, Nimmst die "Version 10 auf 12" (Versionen von Node) und postest die Fehlermeldungen vom Update des js-controllers... Das sind 3 völlig unterschiedliche Dinge...
In meiner Knowledgebase ist das Update vom js-controller beschrieben. Da wäre das Update dann aktuell von Version 2 auf 3. Das wäre dann das Update was du unter Umständen auch im Admin des ioBrokers angezeigt bekommst...
Ich ignoriere jetzt einfach mal "NPM" und "Version 10 auf 12" und beziehe mich auf deine Fehlermeldung beim Ausführen des "npm install..."
Deine Fehlermeldung "sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt" ist nicht neu. Hast du die mal durch die Suche in diesem Thread gejagt?
Das ist ein Thema was hier alle paar Monate wieder aufschlägt.
Es handelt sich um einen bekannten Bug der in Erscheinung tritt wenn man den Container auf einer Synology DS ausführt und das "Host-Netzwerk" verwendet. Synology verwendet in der aktuellen DSM Version einen veralteten Linux Kernel. In diesem Kernel gibt es einen Bug. Der verhindert das Ausführen von sudo innerhalb eines Containers der im Host Mode läuft.... Leider wird beim "npm install..." innerhalb der routine "sudo" aufgerufen. Resultat: Die Installation schlägt fehl.Eine Workaround für das Update des js-controllers im ioBroker-Container wäre folgendes (vorausgesetzt du hast dein ioBroker-Verzeichnis außerhalb des Containers liegen und in den Container gemountet):
- Backup machen! (z.B. per duplizieren des ioBroker-Verzeichnisses oder über "iobroker backup" und sichern des Backup-Files)
- Container löschen
- Container mit Bridge Netzwerk anstatt Host erstellen (restliche Config natürlich gleich)
- Update des js-controllers über Kommandozeile durchführen ("pkill io", "npm install..")
- Container löschen
- Neuen Container mit Host Netzwerk erstellen
Ich hoffe das hilft dir weiter.
MfG,
André -
Hallo noch mal,
habe das Gefühl meine Frage/Problem geht irgendwie unter, ich versuche es noch einmal, jedoch diesmal nicht als Reply auf ein Posting.
Hoffe mit diesem letzten Versuch auf mein Problem aufmerksam zu machen, ggf. poste ich hier auch falsch...k.a...:confused:Ich wäre super Dankbar wenn jemand hier auf eine Quelle verweisen könnte wo ich nachlesen kann, oder ggf. anhand meiner Infos die Lösung kennt.
Hier der Post um den es geht:
https://forum.iobroker.net/post/419686Vielen Dank!:spock-hand:
-
Hallo noch mal,
habe das Gefühl meine Frage/Problem geht irgendwie unter, ich versuche es noch einmal, jedoch diesmal nicht als Reply auf ein Posting.
Hoffe mit diesem letzten Versuch auf mein Problem aufmerksam zu machen, ggf. poste ich hier auch falsch...k.a...:confused:Ich wäre super Dankbar wenn jemand hier auf eine Quelle verweisen könnte wo ich nachlesen kann, oder ggf. anhand meiner Infos die Lösung kennt.
Hier der Post um den es geht:
https://forum.iobroker.net/post/419686Vielen Dank!:spock-hand:
@qosi
Hallo,
hast du denn beim Erstellen deines Containers die Capabilities gesetzt?
Hier ein paar Infos: Docker Doku.
Und hier findet man das im Portainer:

Vermutlich fehlt dir der "NET_ADMIN".
Ob noch Weiteres zu tun ist kann ich nicht genau sagen. Ich verwende den Adapter nur auf einem Raspberry-Multihost-Slave...MfG,
André -
@qosi
Hallo,
hast du denn beim Erstellen deines Containers die Capabilities gesetzt?
Hier ein paar Infos: Docker Doku.
Und hier findet man das im Portainer:

Vermutlich fehlt dir der "NET_ADMIN".
Ob noch Weiteres zu tun ist kann ich nicht genau sagen. Ich verwende den Adapter nur auf einem Raspberry-Multihost-Slave...MfG,
André@andre
Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:

Brachte nix...dann noch in CMD hinzugefügt...

Brachte auch nichts...
Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...

Das sind meine Pakete
build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nanoLeider will er einfach nicht...
radar2.0 2020-04-27 23:51:48.223 info (643) radar2 set to scan every 20 seconds and printers every 720 minutes. radar2.0 2020-04-27 23:51:48.222 info (643) arp-scan will use the following interfaces: [ 'eth0' ] radar2.0 2020-04-27 23:51:48.221 info (643) Remove name end for host names: .fritz.box radar2.0 2020-04-27 23:51:48.221 info (643) use known IP list: [ '1.1.1.1' ] radar2.0 2020-04-27 23:51:48.220 info (643) use known BT list: [ '01:12:23:34:45:56' ] radar2.0 2020-04-27 23:51:48.219 info (643) radar2 set to flag items away if they are not seen for 2 minutes radar2.0 2020-04-27 23:51:48.218 warn (643) node-bluetooth not found! radar2.0 2020-04-27 23:51:47.975 warn (643) 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 NobleBindi radar2.0 2020-04-27 23:51:47.024 info (643) Adapter disconnected and stopped with dostop(false) and callback(true) radar2.0 2020-04-27 23:51:47.023 error (643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19) radar2.0 2020-04-27 23:51:47.022 error (643) uncaught exception: bind EACCES 0.0.0.0:67 radar2.0 2020-04-27 23:51:46.850 info (643) net-ping not available! Will try to use normal ping! radar2.0 2020-04-27 23:51:46.815 info (643) radar2 initialization started... radar2.0 2020-04-27 23:51:46.796 warn (643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer! radar2.0 2020-04-27 23:51:46.731 info (643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
Danke für die Doku, werde die mir noch mal in Detail reinziehen.Hier vielleicht noch der Log vom Container start...log.txt
-
@andre
Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:

Brachte nix...dann noch in CMD hinzugefügt...

Brachte auch nichts...
Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...

Das sind meine Pakete
build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nanoLeider will er einfach nicht...
radar2.0 2020-04-27 23:51:48.223 info (643) radar2 set to scan every 20 seconds and printers every 720 minutes. radar2.0 2020-04-27 23:51:48.222 info (643) arp-scan will use the following interfaces: [ 'eth0' ] radar2.0 2020-04-27 23:51:48.221 info (643) Remove name end for host names: .fritz.box radar2.0 2020-04-27 23:51:48.221 info (643) use known IP list: [ '1.1.1.1' ] radar2.0 2020-04-27 23:51:48.220 info (643) use known BT list: [ '01:12:23:34:45:56' ] radar2.0 2020-04-27 23:51:48.219 info (643) radar2 set to flag items away if they are not seen for 2 minutes radar2.0 2020-04-27 23:51:48.218 warn (643) node-bluetooth not found! radar2.0 2020-04-27 23:51:47.975 warn (643) 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 NobleBindi radar2.0 2020-04-27 23:51:47.024 info (643) Adapter disconnected and stopped with dostop(false) and callback(true) radar2.0 2020-04-27 23:51:47.023 error (643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19) radar2.0 2020-04-27 23:51:47.022 error (643) uncaught exception: bind EACCES 0.0.0.0:67 radar2.0 2020-04-27 23:51:46.850 info (643) net-ping not available! Will try to use normal ping! radar2.0 2020-04-27 23:51:46.815 info (643) radar2 initialization started... radar2.0 2020-04-27 23:51:46.796 warn (643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer! radar2.0 2020-04-27 23:51:46.731 info (643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
Danke für die Doku, werde die mir noch mal in Detail reinziehen.Hier vielleicht noch der Log vom Container start...log.txt
@qosi sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
Hallo,
für mich sieht das soweit eigentlich gut aus. In der einzigen Fehlermeldung die ich finden konnte meckert er an, dass er den Port 67 nicht öffnen kann. Hast du die Fehlermeldung mal durch die Forensuche gejagt?Ich empfehle dir da mal diesen Thread:
https://forum.iobroker.net/topic/19794/adapter-neuer-radar2-adapterMfG,
André -
@andre
Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:

Brachte nix...dann noch in CMD hinzugefügt...

Brachte auch nichts...
Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...

Das sind meine Pakete
build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nanoLeider will er einfach nicht...
radar2.0 2020-04-27 23:51:48.223 info (643) radar2 set to scan every 20 seconds and printers every 720 minutes. radar2.0 2020-04-27 23:51:48.222 info (643) arp-scan will use the following interfaces: [ 'eth0' ] radar2.0 2020-04-27 23:51:48.221 info (643) Remove name end for host names: .fritz.box radar2.0 2020-04-27 23:51:48.221 info (643) use known IP list: [ '1.1.1.1' ] radar2.0 2020-04-27 23:51:48.220 info (643) use known BT list: [ '01:12:23:34:45:56' ] radar2.0 2020-04-27 23:51:48.219 info (643) radar2 set to flag items away if they are not seen for 2 minutes radar2.0 2020-04-27 23:51:48.218 warn (643) node-bluetooth not found! radar2.0 2020-04-27 23:51:47.975 warn (643) 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 NobleBindi radar2.0 2020-04-27 23:51:47.024 info (643) Adapter disconnected and stopped with dostop(false) and callback(true) radar2.0 2020-04-27 23:51:47.023 error (643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19) radar2.0 2020-04-27 23:51:47.022 error (643) uncaught exception: bind EACCES 0.0.0.0:67 radar2.0 2020-04-27 23:51:46.850 info (643) net-ping not available! Will try to use normal ping! radar2.0 2020-04-27 23:51:46.815 info (643) radar2 initialization started... radar2.0 2020-04-27 23:51:46.796 warn (643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer! radar2.0 2020-04-27 23:51:46.731 info (643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
Danke für die Doku, werde die mir noch mal in Detail reinziehen.Hier vielleicht noch der Log vom Container start...log.txt
@qosi Sobald du den Privileged mode aktiviert hast interessieren die capabilities nicht mehr da sie dann alle aktiviert sind. Sicherheitstechnisch solltest du den Privileged mode deaktivieren und nur die benötigten capabilities aktivieren. Ich kann das nicht oft genug sagen.
Wenn ein externer angreifer in einen Container eindringt der im Privileged mode läuft, kann er auf eurem Host (Diskstation) sehr großen Schaden anrichten, wie z.B. alle Platten löschen.
Und nun zum eigentlichen Problem:
- schalte den Container aus
- Da du vorher ohne priviledged ausgekommen bist schalt es wieder aus
- dreh die capabilities wieder auf den Ursprungszustand zurück
- aktiviere folgende capabilities zusätzlich zu den Standardmäßigen.: "NET_ADMIN" "NET_RAW" und "NET_BIND_SERVICE"
- Starte den Container wieder
- Führe in der Console folgende Befehle aus:
gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)- Starte den Container neu
-
@jgee2
Hallo Jo,
ich glaube du bringst da irgendwas durcheinander...@jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.
Was hast du jetzt genau vor? Du schreibst "NPM" aktualisieren, Nimmst die "Version 10 auf 12" (Versionen von Node) und postest die Fehlermeldungen vom Update des js-controllers... Das sind 3 völlig unterschiedliche Dinge...
In meiner Knowledgebase ist das Update vom js-controller beschrieben. Da wäre das Update dann aktuell von Version 2 auf 3. Das wäre dann das Update was du unter Umständen auch im Admin des ioBrokers angezeigt bekommst...
Ich ignoriere jetzt einfach mal "NPM" und "Version 10 auf 12" und beziehe mich auf deine Fehlermeldung beim Ausführen des "npm install..."
Deine Fehlermeldung "sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt" ist nicht neu. Hast du die mal durch die Suche in diesem Thread gejagt?
Das ist ein Thema was hier alle paar Monate wieder aufschlägt.
Es handelt sich um einen bekannten Bug der in Erscheinung tritt wenn man den Container auf einer Synology DS ausführt und das "Host-Netzwerk" verwendet. Synology verwendet in der aktuellen DSM Version einen veralteten Linux Kernel. In diesem Kernel gibt es einen Bug. Der verhindert das Ausführen von sudo innerhalb eines Containers der im Host Mode läuft.... Leider wird beim "npm install..." innerhalb der routine "sudo" aufgerufen. Resultat: Die Installation schlägt fehl.Eine Workaround für das Update des js-controllers im ioBroker-Container wäre folgendes (vorausgesetzt du hast dein ioBroker-Verzeichnis außerhalb des Containers liegen und in den Container gemountet):
- Backup machen! (z.B. per duplizieren des ioBroker-Verzeichnisses oder über "iobroker backup" und sichern des Backup-Files)
- Container löschen
- Container mit Bridge Netzwerk anstatt Host erstellen (restliche Config natürlich gleich)
- Update des js-controllers über Kommandozeile durchführen ("pkill io", "npm install..")
- Container löschen
- Neuen Container mit Host Netzwerk erstellen
Ich hoffe das hilft dir weiter.
MfG,
AndréHi André,
ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.
Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.
Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...
Beste Grüße
Jo
-
Hi André,
ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.
Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.
Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...
Beste Grüße
Jo
@jgee2 Probier mal folgendes bevor du einzelne Sachen wiederherstellst:
- erstelle dir ein neues iobroker_data-Verzeichnis (kannst auch anders nennen)
- lege in das neue iobroker_data-Verzeichnis das Backup-File
- erstelle dir nochmal einen nackten Container mit dem neuen iobroker_data-Verzeichnis
- starte den Container
Jetzt sollte automatisch ein Restore laufen, das dauert einige Zeit bis es komplett abgeschlossen ist. Je nach Anzahl an Adaptern bis zu 2 Stunden oder mehr.
Und heb dir das alte iobroker_data-Verzeichnis auf, dann kann man wenns nicht funktioniert auch damit weiter machen.
-
Hi André,
ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.
Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.
Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...
Beste Grüße
Jo
@jgee2 Beim neuen System / nach der Reparatur empfiehlt es sich diese Einstellung in der javascript-Instanz zu setzen:

Das Verzeichnis solltest Du vorher manuell anlegen.
Damit werden dann permanent alle Skripte lokal auf das Filesystem synchronisiert und können dort oder im Admin geändert werden.
Mit Hyperbackup hat man dann auch Generationssicherungen der Skripte und kann problemlos auch ein einzelnes mal wieder zurückholen.Gruß, Ralf
-
@jgee2 Probier mal folgendes bevor du einzelne Sachen wiederherstellst:
- erstelle dir ein neues iobroker_data-Verzeichnis (kannst auch anders nennen)
- lege in das neue iobroker_data-Verzeichnis das Backup-File
- erstelle dir nochmal einen nackten Container mit dem neuen iobroker_data-Verzeichnis
- starte den Container
Jetzt sollte automatisch ein Restore laufen, das dauert einige Zeit bis es komplett abgeschlossen ist. Je nach Anzahl an Adaptern bis zu 2 Stunden oder mehr.
Und heb dir das alte iobroker_data-Verzeichnis auf, dann kann man wenns nicht funktioniert auch damit weiter machen.
Hi! Das habe ich gemacht. Die Fehlermeldung beim Starten des Containers war sinngemäß, dass Dateien im Verzeichnis entdeckt wurden, die kein ioBroker Backup wären. Da habe ich dann aufgegeben. Vermutlich war das Backup bereits korrupt. Hab was draus gelernt: Meine ioBroker-Instanz wird bei mir jetzt genauso pfleglich behandelt, wie auch andere Daten. Backups mache ich jetzt regelmäßig und automatisch...
Trotzdem danke und viele Grüße
Jo
-
@jgee2 Beim neuen System / nach der Reparatur empfiehlt es sich diese Einstellung in der javascript-Instanz zu setzen:

Das Verzeichnis solltest Du vorher manuell anlegen.
Damit werden dann permanent alle Skripte lokal auf das Filesystem synchronisiert und können dort oder im Admin geändert werden.
Mit Hyperbackup hat man dann auch Generationssicherungen der Skripte und kann problemlos auch ein einzelnes mal wieder zurückholen.Gruß, Ralf
-
@qosi Sobald du den Privileged mode aktiviert hast interessieren die capabilities nicht mehr da sie dann alle aktiviert sind. Sicherheitstechnisch solltest du den Privileged mode deaktivieren und nur die benötigten capabilities aktivieren. Ich kann das nicht oft genug sagen.
Wenn ein externer angreifer in einen Container eindringt der im Privileged mode läuft, kann er auf eurem Host (Diskstation) sehr großen Schaden anrichten, wie z.B. alle Platten löschen.
Und nun zum eigentlichen Problem:
- schalte den Container aus
- Da du vorher ohne priviledged ausgekommen bist schalt es wieder aus
- dreh die capabilities wieder auf den Ursprungszustand zurück
- aktiviere folgende capabilities zusätzlich zu den Standardmäßigen.: "NET_ADMIN" "NET_RAW" und "NET_BIND_SERVICE"
- Starte den Container wieder
- Führe in der Console folgende Befehle aus:
gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)- Starte den Container neu
@duffbeer2000 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f
which arp-scan)Hallo duffbeer,
schalte den Container aus --> check
Da du vorher ohne priviledged ausgekommen bist schalt es wieder aus --> check
dreh die capabilities wieder auf den Ursprungszustand zurück --> check
aktiviere folgende capabilities zusätzlich zu den Standardmäßigen.: "NET_ADMIN" "NET_RAW" und "NET_BIND_SERVICE" --> check
Starte den Container wieder --> check
Führe in der Console folgende Befehle aus: --> ja das hab ich auch so versucht, leider passt ihm hier, wie bei vielen anderen Meldungen die man im log sieht im Moment, diese File Geschichte nicht.root@iobroker1:/opt/iobroker# gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) Failed to set capabilities on file `/usr/sbin/arp-scan' (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 root@iobroker1:/opt/iobroker# -
Hi! Das habe ich gemacht. Die Fehlermeldung beim Starten des Containers war sinngemäß, dass Dateien im Verzeichnis entdeckt wurden, die kein ioBroker Backup wären. Da habe ich dann aufgegeben. Vermutlich war das Backup bereits korrupt. Hab was draus gelernt: Meine ioBroker-Instanz wird bei mir jetzt genauso pfleglich behandelt, wie auch andere Daten. Backups mache ich jetzt regelmäßig und automatisch...
Trotzdem danke und viele Grüße
Jo
@jgee2 Lass mich raten, du hast kein neues iobroker_data Verzeichnis angelegt sondern nur den Inhalt gelöscht? Wenn ja ist das logisch da in dem Verzeichnis auch versteckte Dateien sind. Daher sagte ich auch "erstelle dir ein neues iobroker_data-Verzeichnis"
@qosi
apr-scan ist aber installiert? kannst du das mal prüfen?
Gingen die anderen befehle durch? Wenn nicht dann versuchen wir es mal mit dem User iobroker, vielleicht hilft das.gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`) -
@jgee2 Lass mich raten, du hast kein neues iobroker_data Verzeichnis angelegt sondern nur den Inhalt gelöscht? Wenn ja ist das logisch da in dem Verzeichnis auch versteckte Dateien sind. Daher sagte ich auch "erstelle dir ein neues iobroker_data-Verzeichnis"
@qosi
apr-scan ist aber installiert? kannst du das mal prüfen?
Gingen die anderen befehle durch? Wenn nicht dann versuchen wir es mal mit dem User iobroker, vielleicht hilft das.gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)@duffbeer2000 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@jgee2 Lass mich raten, du hast kein neues iobroker_data Verzeichnis angelegt sondern nur den Inhalt gelöscht? Wenn ja ist das logisch da in dem Verzeichnis auch versteckte Dateien sind. Daher sagte ich auch "erstelle dir ein neues iobroker_data-Verzeichnis"
Nein, das root-Verzeichnis war ein neues mit einem anderen Namen. Das Backup war bereits defekt. Der ioBroker hat sogar gestartet und alle Adapter ausgeführt (Daten wurden an influxDB gesendet und mit dem KNX-Bus ausgetauscht), aber die Weboberfläche des Admin-Adapters wollte nicht starten. Ältere Backups waren zu alt für meinen Zweck. Mittlerweile habe ich alles wieder hergestellt und bin dadurch etwas schlauer geworden als zuvor.
-
@jgee2 Lass mich raten, du hast kein neues iobroker_data Verzeichnis angelegt sondern nur den Inhalt gelöscht? Wenn ja ist das logisch da in dem Verzeichnis auch versteckte Dateien sind. Daher sagte ich auch "erstelle dir ein neues iobroker_data-Verzeichnis"
@qosi
apr-scan ist aber installiert? kannst du das mal prüfen?
Gingen die anderen befehle durch? Wenn nicht dann versuchen wir es mal mit dem User iobroker, vielleicht hilft das.gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)Sers,
also arp-scan ist wohl da...
root@iobroker1:/opt/iobroker# arp-scan -lgq --retry=7 Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9.5 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.0.2 02:42:c0:a8:00:02Mit User iobroker sieht es etwas anders aus bei den Befehlen
root@iobroker1:/opt/iobroker# gosu iobroker setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) unable to set CAP_SETFCAP effective capability: Operation not permitted root@iobroker1:/opt/iobroker#Das CAP_SETFCAP ist jedoch an...

Auch bei den anderen Befehlen ist die Meldung die gleiche.
Habe mal den Privileged mode eingeschaltet, auch hier der gleiche Fehler.

Dazu sagt google, dass man andere User außer root nicht unbedingt in sudo/sudoers Gruppe legen soll.
Da ich kaum Linux Erfahrung habe, bin ich hierzu ratlos...Danke für Eure Unterstützung!