NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@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#
-
@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.
-
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:02
Mit 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!
-
Ich wollte ein Recreate bei einem Container machen und ich glaube ich habe es versehentlich den Container für Portainer selbst gemacht. Jetzt kommt immer die Fehlermeldung:
unable to retrieve stacksIn Stacks sind keine Stacks und die Container List sieht so aus:
Kann mir einer der Portainerspezis sagen was man da tun kann?
Danke für die Unterstützung.
-
Ich konnte den Portainer Container über Docker im DSM neu starten. Es scheint wieder zu laufen!
-
Moin,
hab die Tage auf die neueste V4.2 hochgerüstet.
Soweit läuft auch alles, nur meine Synology-Instanz kann sich nicht mehr mit der DS verbinden.
Ich habe ein MACVLAN und der Container schaut gleichzeitig auch auf das Bridge-Netzwerk.
Dies hatte ich damals mal eingerichtet, da der Container sonst nicht mehr auf einen anderen Container bzw auf sein Host schauen kann, hatte ja auch geklappt.Jetzt ist der Thread hier mittlerweile doch sehr groß und unübersichtlich geworden, ich finde den Part nicht mehr, wo dies alles erklärt wurde. Beim Andre auf Buanet wird auch nur auf dieses Forum verwiesen bei den Kommentaren.
Mein Bridge-Netzwerk ist:
bridge
Subnet - 172.17.0.0/16 Gateway - 172.17.0.1ioBroker-Container (MACVLAN):
iob_public
Subnet - 192.168.33.0/24 Gateway - 192.168.33.100
und hat die interne Adresse:
172.17.0.3Die DS hat:
192.168.33.101Wie gesagt, es lief ja bis vor kurzem, daher wundert mich jetzt, wenn ich in den Terminal gehe und einen Ping auf die Synology machen möchte, der die nicht erreichen kann.
-
@tugsi Aus dem Container solltest du die Synology unter der 172.17.0.1 erreichen können. Falls nicht könnte es sein das du die Firewall auf der Synology aktiviert hast?
gruß,
Hetti -
@hetti72
hallo Hetti,
ja die 172.17.0.1 kann ich erreichen, nur ich hatte im Adapter immer die 192.168.33.101 eingestellt gehabt und damit klappte es eigentlich auch.
Deswegen bin ich jetzt irritiert, dass ich die 192.168.33.x-Bereich nicht mehr erreichen kann aus den Container. -
@tugsi Du hast wahrscheinlich mit dem iobroker update auf 4.2 nach der Buanet Anleitung ein MACVLAN eingerichtet, oder?
Bei dieser Netzwerkvariante können sich die Synology und auch alle anderen Container die im MACVLAN Modus laufen Netzwerktechnisch untereinander nicht erreichen. Eine Kommunikation ist nur über das zuätzliche Docker interne Bridge Netzwerk möglich.
Das lässt sich nur mit Synologys umgehen die 2 Netzwerkanschlüsse haben. Da lässt man über den einen die Diskstation kommunizieren und auf den anderen physikalischen Anschluss bindet man das MACVLAN, dann könnte der iobroker im Container wieder die Synology mit der "normalen" IP erreichen. -
@hetti72
Ich bin etwas verwirrt. Nein habe diese Variante schon seit der Version3 laufen. Damals hatte ich alles umgestellt. MACVLAN eingerichtet und das Bridge-Netzwerk.
Wie gesagt, bisher lief es auch, nur nach dem Update auf die V4.2 ist mir im Log aufgefallen, dass dutzende Fehlermeldungen vom Synologyadapter kamen, dass er die DS nicht erreichen kann.
In den Einstellungen war meine normale 192er-IP eingetragen, also lief es vorher ja auch so mit MACVLAN, sonst hätte ich ja auch so schon Errorlogs bekommen.
Allerdings habe ich den Synologyadapter nicht in meiner VIS oder so eingebunden, daher bin ich jetzt verwirrt.
Ich habe zwar die 918+, benutze die zwei Netzwerkschnittstellen aber im Bond.
Mit der internen Docker-IP kann ich den Host erreichen, das klappt.
Also hätte ich im MACVLAN nie meine DS über die "normale IP" erreichen können?
Mich verwundert, dass ich die 192er da drin stehen hatte. -
@tugsi Ich habe nochmal ein wenig experiementiert und muss meine Aussage von weiter oben teilweise korrigieren. Alle Container die eine Adresse aus dem gleichen MACVLAN haben können sich über diese IP Adresse untereinander erreichen, und auch alle anderen Geräte im Netzwerk ausserhalb des MACVLAN´s auf der Synology können erreicht werden (z.B. eine CCU oder HUE Bridge).
Lediglich der Docker Host ist nicht mit seiner "normalen" IP Adresse erreichbar, das wird im wohl Linux Kernel verhindert und ist eine Sicherheitsfunktion.
Man kann das ganze aber aushebeln in dem man auf der Synology eine weitere Netzwerkbridge konfiguriert. Es gibt da verschiedene Anleitungen im Netz, zb hier
https://www.synology-forum.de/showthread.html?103178-macvlan-Zugriff-auf-den-HostWenn du also so eine Bridge vorher nicht konfiguriert hattest dann dürfte ein Zugriff aus dem IOBroker Container auf die Synology via der 192er Adresse nie funktioniert haben, aber so genau lässt sich das aus der ferne nicht diagnostizieren.
-
@rostnagel bist Du mit dem Bluetooth stick schon weiter gekommen? Ich habe ihn bisher auch nicht zum laufen bekommen.
-
@hetti72 Da hättest du nicht viel experimentieren müssen Ich habe zum Thema MACVLAN hier schon einige Male referiert:
https://forum.iobroker.net/search?term=MACVLAN &in=posts&matchWords=all&by[]=andre&sortBy=timestamp&sortDirection=desc&showAs=posts
Kann daher deine Erkenntnisse nur bestätigen. In einem der Beiträge habe ich auch einen Auszug der Docker Doku gepostet. Da steht es auch nochmal so drin.MfG,
André -
@andre Ich hab mir schon gedacht das es die Info bestimmt irgendwo in diesem kleinen und überichtlichen Thread zu finden gibt, hab es aber auf anhieb nicht gefunden. Also hab ich mir die Information einach mal selbst erarbeitet und dadurch wieder was gelernt das Thema insgesamt besser verstanden.
Das Docker Thema ist mir Beruflich zwar nicht fremd, aber da arbeite ich mit Kubernetes und Rancher und da läuft das alles ein wenig anders.
Vor allem die Einschränkungen die man auf der Synology hat, machen das Thema nicht einfacher.gruß,
Frank -
@hetti72 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Vor allem die Einschränkungen die man auf der Synology hat, machen das Thema nicht einfacher.
Da sagst du was. Obwohl es eigentlich gut läuft wenn man die Klippen (z. B. den Host Mode) zu umschiffen weiß...
Mittlerweile läuft mein produktiv iobroker auch nicht mehr auf der DS. Ich sehe da seitens Synology irgendwie keinen Fortschritt mehr. Alle warten auf die Version 7 vom DSM. Obwohl ich das eher kritisch sehe, denn da wird es wahrscheinlich einfach nur andere Themen geben. Wir werden sehen.Was die Übersichtlichkeit des Threads angeht, da hast du wohl recht. Kann da immer nur die erweiterte Forensuche empfehlen.
Hatte auch schon mal angefangen die ewig wiederkehrenden Themen inkl. Docker Basics in einer eigenen Knowledge Base zu sammeln (https://buanet.de/knowledge-base). Aber Das ist eben auch ein recht zeitaufwändiges Unterfangen wenn man eine gewisse Qualität beibehalten möchte...
Um so schöner ist es zu sehen, daß es nicht nur die "geht nicht"-Meckerfraktion gibt, sondern auch immer wieder Leute die sich Wissen selbst erarbeiten können und wollen. Und gerade was den Umgang mit Docker angeht, sehe ich leider immer wieder große Wissens- und Verständnis-Lücken wenn es um die puren Basics geht...MfG,
André -
@Daniel76 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@rostnagel bist Du mit dem Bluetooth stick schon weiter gekommen? Ich habe ihn bisher auch nicht zum laufen bekommen.
nicht wirklich... ich dümpel noch mit der V2 umher... 20 adapter stehen zur aktualisierung bereit
ehrlich gesagt hab ich auch keine lust noch nen Raspberry irgendwo aufzubauen der allein für die anwesenheitserkennung zustandig ist.
kann die DS ja auch. aber das durchreichen ist nicht mehr so einfach wie zuvor.entweder ich gehe wieder komplett auf den pi oder es gibt noch ne lösung.
auf die backup funktionaltät und den großen ram der ds möchte ich eigtl nicht verzichten
-
@rostnagel sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
entweder ich gehe wieder komplett auf den pi oder es gibt noch ne lösung.
Schon mal den Host-Modus ausprobiert? Bei mir läuft damit alles absolut rund und problemlos auf meiner DS718+. Portainer, MACVLAN und Bridge mögen ja durchaus ihre berechtigten Vorteile bieten, aber wenn man nicht mit allzu vielen Docker-Abbildern arbeitet, dann sollte der sehr einfach zu handhabende Host-Modus absolut ausreichen.
@andre: Machst du noch ein neues Abbild mit node.js 12.x? Ist zwar aktuell nicht notwendig, wird aber bei Verwendung des js-controllers ab Version 3 angeraten.
-
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre: Machst du noch ein neues Abbild mit node.js 12.x? Ist zwar aktuell nicht notwendig, wird aber bei Verwendung des js-controllers ab Version 3 angeraten.
Ist schon da. Das aktuelle Beta Image läuft mit Node 12.
https://github.com/buanet/docker-iobroker/blob/beta/README.mdHabe mir gedachrt sobald der js-controller v3 als stable kommt, mache ich eine Image Version 5. Bis dahin könnt ihr mit der Beta testen.
MfG,
André -
@andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich habe hier mal ein Beispiel. Nur mit ioBroker-Container und den Netzwerken (MACVLAN + internes Bridge Netzwerk). Werde dazu auch noch ein Tutorial schreiben. Dann aber gleich zusammen mit einem Redis-Container. Dazu muss die aktuelle Beta aber erst zum "latest" werden (wegen der Möglichkeit gleich beim Setup Redis zu konfigurieren).
version: "2" services: iobroker: container_name: iobroker image: buanet/iobroker:latest hostname: iobroker restart: always networks: macvlan: ipv4_address: 192.168.0.73 bridge: ipv4_address: 172.18.0.2 environment: - PACKAGES=nano volumes: - /volume1/docker/iobroker_data:/opt/iobroker networks: macvlan: driver: macvlan driver_opts: parent: eth0 ipam: config: - subnet: 192.168.0.0/24 gateway: 192.168.0.1 ip_range: 192.168.0.72/29 aux_addresses: net-address: 192.168.0.72 # Reservierte Adresse, damit Docker nicht die Netzadresse vergibt. bridge: driver: bridge ipam: config: - subnet: 172.18.0.0/16 gateway: 172.18.0.1 ip_range: 172.18.0.1/24
MfG,
AndréSag mal, nutzt du diese yaml Config eigentlich unter der Stack Funktion die Portainer bietet oder direkt mit docker-compose?
Ich hatte ja ursprünglich Probleme dass Portainer Stacks nicht funktionierte, wenn ich MACVLAN nutze. Will das Thema aber doch noch mal angehen.
Hast du vielleicht ein funktionierendes Beispiel für den Portainer Stack? Im Internet findet man dazu relativ wenig Informationen....