NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@rostnagel
Kann ich mir nicht vorstellen, das Script läuft als root...
Ist dein Mounting im Container wirklich korrekt? Stimmt der Pfad?MfG,
Andréich weiß nicht was ich getan habe aber jetzt läufts. hab den container gellöscht und neu erstellt. daten in den ordner kopiert und alles lief reibungslos. keine ahnung was das problem war
-
@a200 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Muss man mit @andre klären
Können wir gerne klären. Sollen wir dazu vor die Tür gehen?
Hab ich auf dem Zettel:
https://github.com/buanet/docker-iobroker/issues/8
https://github.com/buanet/docker-iobroker/issues/36 -
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Können wir gerne klären. Sollen wir dazu vor die Tür gehen?
Hab ich auf dem Zettel:
https://github.com/buanet/docker-iobroker/issues/8
https://github.com/buanet/docker-iobroker/issues/36Nee, viel zu kalt draußen!
Ich habe mir ein Image gebastelt in dem ich wie du es machst, eine ENV Variable definiert mit der ich steuern kann ob der chmod-Script aufgerufen wird, oder nicht.
if [ "$usbperm" = "true" ] then echo "USB permission is activated by ENV." chmod 764 /opt/scripts/setup_usb.sh sh /opt/scripts/setup_usb.sh echo "Done." echo ' ' fi
und setup_usb.sh
#!/bin/bash echo "Checking USB permissions..." chmod 777 /dev/ttyUSB0 exit 0
Es wäre nett, wenn du die Anpassung übernehmen könntest.
Ich glaube, dass das Ganze auf der QNAP so problematisch ist, weil die uid 0 admin gehört:
[~] # id uid=0(admin) gid=0(administrators) groups=0(administrators),100(everyone)
und obwohl ich root in demContainer bin und des Device root gehört, die Zugriffsrechte nicht ausreichend sind. Vieleicht kann man das noch anders lösen? In der früheren Versionen deines Images funktionierte der Zugriff Problemlos.
Danke und liebe Grüße.
-
Hallo zusammen,
mit der Installation des Alexa Adapters2 habe ich so einige Probleme:
Konstellation =
Platform: linux
Architecture: x64
CPUs: 2
Speed: 2001 MHz
Model: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz
RAM: 9.5 GB
System uptime: 08:24:14
Node.js: v10.17.0
NPM: 6.11.3
Disk size: 2.6 TiB
Disk free: 1.8 TiB
adapters count: 301
Uptime: 00:06:41
Active instances: 22Wenn ich nun versuche den Adapter zum starten zu bringen, möchte er üver den Link http://172.17.0.3:37334/ eine Verbindung herstellen twecks Erwerb des Cookie.
Dies geht aber nicht!
Anbei die Einstellung am Adapter:
Hat dies ggf. was mit dem bind am Docker oder Portainer zu tun!?
Wer hat eine Idee?
Danke.
VG
BLRD
-
@BLRD
Die 172.17.0.3 ist die interne IP im Dockereigenen Netzwerk, auf die hast du von außen keinen Zugriff deshalb klappt es nicht.Lösung:
- Im Alexa Adapter unter Proxy-Einstellungen musst du unten bei "Externe Container-IP (Docker)" die IP-Adresse deiner Synology eintragen, dann sollte auch ein anderer Link mit der IP deiner Synology angezeigt werden.
-
Hi zusammen, ich habe soeben erfolgreich mein Docker Image nach Portainer MacVLAN gebracht. es funktioniert alles soweit...
Hintergrund waren die Shellys, ich möchte gerne cloud und iobroker nutzen und das geht nur mit COAP und MacVlan.
das einzige was derzeit "gelb" ist ist der zigbee Adapter. ich habe an meiner Synologie so ein USB Dongle dran... gibt es dazu irgendwas zu beachten um den auch lauffähig zu bekommen.
@andre
Top Anleitung, gebe zu ich musste 2-3 Versuche starten aber jetzt läuft alles soweit.
Danke für deine Mühe das alles so genau und gut bebildert zu beschreiben! -
@dos1973 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
das einzige was derzeit "gelb" ist ist der zigbee Adapter. ich habe an meiner Synologie so ein USB Dongle dran... gibt es dazu irgendwas zu beachten um den auch lauffähig zu bekommen.
Ja, dies ist bekannt.
Hab ich hier schon beschrieben.Du musst ein
chmod 777 /dev/ttyACM0
machen. -
Klasse. Besten Dank, versuche ich heute Abend
edit:
hmm, irgendwas mache ich falsch, gebe zu ich bin mit der console & ssh nicht sehr vertraut.ich habe auf dem portioner die console geöffnet
chmod: Zugriff auf '/dev/ttyACM0' nicht möglich: Datei oder Verzeichnis nicht gefunden root@733f5e85428d:/dev# ls core fd full mqueue null ptmx pts random shm stderr stdin stdout tty urandom zero root@733f5e85428d:/dev#
bekomme die FM
im /dev Verzeichnis habe ich kein "ttyACM0"@Negalein noch ein Tipp für mich?
PS. den Hostnamen änder ich nochmals...:-)
Danke -
ich habs gefunden.
ich musste das Häckchen mit der hohe "Priorität" setzen und danach konnte ich die Rechte mit chmod ausführenich habe dieses setting nicht in Portainer gefunden, bin dazu in die Docker Einstellung gewechselt... könnte mir jemand eine Tipp geben, wo ich das in Portainer setzen kann... Thx
-
@dos1973 Container sollten nur in besonderen Ausnahmefällen mit hoher Priorität ausgeführt werden. Man gibt damit dem Container weitreichende Rechte auf dem Host wie z.B. der Synology. Der Container hat dadurch z.B. vollen Zugriff auf alle Geräte unter /dev auf dem Host und könnte alle Dateien löschen...
-
@duffbeer2000
ok, Danke für den Hinweis.
Welche Möglichkeit habe ich denn ansonsten dass mir "/dev/ttyACM0" erstellt wird... -
Da ich nicht 100% weiß obs funktioniert bitte nur jemand testen der etwas Erfahrung hat!!!
Hi, ich hab leider keine Synology um es zu testen. Theoretisch sollte es reichen wenn der User der dialout Gruppe hinzugefügt wird. Dann hat er Zugriff auf /dev/ttyACM0 Dann müsste man im Container kein chmod 777 /dev/ttyACM0 mehr ausführen. Falls die Gruppe dialout im Container fehlen sollte könnte Andre die ohne Schmerzen integrieren.
Zum Testen folgendes ausführen:
Bevor jemand das testet bitte sicherstellen das der Container nicht priviledged gestartet wurde und das kein chmod 777 /dev/ttyACM0 im Container ausgeführt wurde sonst bringt der Test nichts.
Host = z.B. Synology-
Auf dem Host und im Container prüfen ob es die Gruppe "dialout" gibt und wenn nicht anlegen:
grep dialout /etc/group
Die Ausgabe sollte sollte starten mit: dialout: x:20
Wenn es die Gruppe nicht geben sollte dann: groupadd -g 20 dialout -
Auf dem Host den Stick der Gruppe dialout zuordnen: chown root:dialout /dev/ttyACM0
Achtung, diese Zuordnung bleibt nur solange bestehen bis man den Stick rauszieht oder der Host neu startet! -
Test ob der Stick jetzt im Container funktioniert
Wenn der Stick jetzt im Container funktioniert dann folgendes machen um die Einstellung auch nach einem Reboot oder beim Stick aus und einstecken zu behalten:
-
Befehl auf dem Host ausführen: lsusb
Die Ausgabe ist dann sowas wie: "Bus 003 Device 002: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)"
Hier interessiert uns nur was bei ID steht. -
Nun erstellt man eine Datei: /etc/udev/rules.d/99_zigbeestick
In die Datei trägt man folgendes ein (Achtung die idVendor und idProduct mit der ausgabe oben ersetzen! Ist bei jedem anders.):
SUBSYSTEM="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE="0660", GROUP="dialout" -
Jetzt mit folgendem Befehl die Regel laden (alternativ den Host neu starten):
udevadm control --reload-rules && udevadm trigger
-
-
@duffbeer2000
ich würde mich ja für eine Teamviewer Session bereit erklären
gerne per pm...alleine traue ich es mich nicht...
-
@dos1973 Können wir später gerne machen. Ich bin allerdings noch bei der Arbeit. Sobald ich zuhause bin und die Regierung mir Freizeit gewährt melde ich mich
-
Ich benötige schon wieder euere Hilfe.
Ich bekomme meinen Conbee Stick nicht installiert.
Ich kann keien API Key generieren.Habe bereits in einem anderen Thread nachgefragt, haben aber noch keine Lösung gefunden.
Meine Vermutung ist, dass es ein Netzwerkproblem ist.
Ich habe mit viel Hilfe aus diesem Thread hier, meine ioBroker Installation mit Portainer und MACVLAN ans laufen gebracht.
ioBroker Installation hat die IP Adresse 192.168.178.100 und die Adapter hören auf die IP Adresse 192.168.178.50.
Auch die besagte Phoscon App läuft mit der IP 192.168.178.50:8077
Kann hier jemand helfen?
-
Verlink mal bitte den anderen Thread, damit die User wissen was wir schon probiert haben.
-
Hier der Link wo @StM47 die Probleme hat , sonnst wird dieser Thread zu gespammt
Conbee USB Stick auf Synology Diskstation im Docker Container
-
Danke
-
@darkiop sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Versuch mal
iobroker stop admin.0 iobroker set admin.0 --bind 192.168.178.100 iobroker start admin.0
Die Adapter werden nach den restore installiert, das kann auch gerne mal 1-2 Stunden dauern - je nach Menge und Leistung des Hosts.Ich habe iobroker erneut wiederherstellen müssen, weil ich das Ganze jetzt doch im Bridge Modus laufen lassen möchte. Die IP Adresse soll jetzt die Gleiche sein, wie die von der Syno Diskstation.
Ich habe die oben stehenden Befehle mit der neuen IP 192.168.178.50 ausgeführt. Ich dachte, es funktioniert auch anders herum.
Leider bekomme ich jetzt Fehlermeldungen.
Kannst du dir das mal anschauen?
< , ,------------------------------------------------------------ ,----- Step 2 of 5: Detecting ioBroker installation ----- ,------------------------------------------------------------ , ,Installation of ioBroker detected in /opt/iobroker. , ,------------------------------------------------------------ ,----- Step 3 of 5: Checking ioBroker installation ----- ,------------------------------------------------------------ , ,This is NOT the first run of the container. Some Steps will be skipped. , ,(Re)Setting folder permissions (This might take a while! Please be patient!)... ,Done. , ,Fixing "sudo-bug" by replacing sudo with gosu... ,Done. , ,------------------------------------------------------------ ,----- Step 4 of 5: Applying special settings ----- ,------------------------------------------------------------ , ,Some adapters have special requirements which can be activated by the use of environment variables. ,For more information take a look at readme.md , ,------------------------------------------------------------ ,----- Step 5 of 5: ioBroker startup ----- ,------------------------------------------------------------ , ,Starting ioBroker... , ,host.iobroker check instance "system.adapter.admin.0" for host "iobroker" ,host.iobroker check instance "system.adapter.alexa2.0" for host "iobroker" ,host.iobroker check instance "system.adapter.backitup.0" for host "iobroker" ,host.iobroker check instance "system.adapter.broadlink2.0" for host "iobroker" ,host.iobroker check instance "system.adapter.daswetter.0" for host "iobroker" ,host.iobroker check instance "system.adapter.discovery.0" for host "iobroker" ,host.iobroker check instance "system.adapter.dwd.0" for host "iobroker" ,host.iobroker check instance "system.adapter.fritzbox.0" for host "iobroker" ,host.iobroker check instance "system.adapter.fritzdect.0" for host "iobroker" ,host.iobroker check instance "system.adapter.habpanel.0" for host "iobroker" ,host.iobroker check instance "system.adapter.harmony.0" for host "iobroker" ,host.iobroker check instance "system.adapter.history.0" for host "iobroker" ,host.iobroker check instance "system.adapter.husq-automower.0" for host "iobroker" ,host.iobroker check instance "system.adapter.ical.1" for host "iobroker" ,host.iobroker check instance "system.adapter.ical.2" for host "iobroker" ,host.iobroker check instance "system.adapter.info.0" for host "iobroker" ,host.iobroker check instance "system.adapter.iot.0" for host "iobroker" ,host.iobroker check instance "system.adapter.iqontrol.0" for host "iobroker" ,host.iobroker check instance "system.adapter.javascript.0" for host "iobroker" ,host.iobroker check instance "system.adapter.lupusec.0" for host "iobroker" ,host.iobroker check instance "system.adapter.mobile.0" for host "iobroker" ,host.iobroker check instance "system.adapter.node-red.0" for host "iobroker" ,host.iobroker check instance "system.adapter.openweathermap.0" for host "iobroker" ,host.iobroker check instance "system.adapter.places.0" for host "iobroker" ,host.iobroker check instance "system.adapter.pushover.0" for host "iobroker" ,host.iobroker check instance "system.adapter.radar2.0" for host "iobroker" ,host.iobroker check instance "system.adapter.sayit.0" for host "iobroker" ,host.iobroker check instance "system.adapter.scenes.0" for host "iobroker" ,host.iobroker check instance "system.adapter.snmp.0" for host "iobroker" ,host.iobroker check instance "system.adapter.synology.0" for host "iobroker" ,host.iobroker check instance "system.adapter.systeminfo.0" for host "iobroker" ,host.iobroker check instance "system.adapter.tankerkoenig.0" for host "iobroker" ,host.iobroker check instance "system.adapter.telegram.0" for host "iobroker" ,host.iobroker check instance "system.adapter.terminal.0" for host "iobroker" ,host.iobroker check instance "system.adapter.text2command.0" for host "iobroker" ,host.iobroker check instance "system.adapter.tileboard.0" for host "iobroker" ,host.iobroker check instance "system.adapter.tr-064-community.0" for host "iobroker" ,host.iobroker check instance "system.adapter.tuya.0" for host "iobroker" ,host.iobroker check instance "system.adapter.upnp.0" for host "iobroker" ,host.iobroker check instance "system.adapter.viessmannapi.0" for host "iobroker" ,host.iobroker check instance "system.adapter.virtualpowermeter.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-fancyswitch.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-google-fonts.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-history.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-hqwidgets.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-jqui-mfd.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-map.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-metro.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis-timeandweather.0" for host "iobroker" ,host.iobroker check instance "system.adapter.vis.0" for host "iobroker" ,host.iobroker check instance "system.adapter.web.0" for host "iobroker" ,host.iobroker check instance "system.adapter.yahka.0" for host "iobroker" ,host.iobroker check instance "system.adapter.yeelight-2.0" for host "iobroker" ,host.iobroker check instance "system.adapter.zigbee.0" for host "iobroker" ,{ Error: listen EADDRNOTAVAIL: address not available 192.168.178.50:8081 , at Server.setupListenHandle [as _listen2] (net.js:1263:19) , at listenInCluster (net.js:1328:12) , at doListen (net.js:1461:7) , at process._tickCallback (internal/process/next_tick.js:63:19) , code: 'EADDRNOTAVAIL', , errno: 'EADDRNOTAVAIL', , syscall: 'listen', , address: '192.168.178.50', , port: 8081 } , ,================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped] ,================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging] ,/>
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@StM47 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Error: listen EADDRNOTAVAIL: address not available 192.168.178.50:8081
zeig bitte mal Screenshots deiner Dockereinstellungen?
Vor-allem die der Port-Einstellungen.