NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Bin nach der (tollen!) Anleitung von André vorgegangen. Dann kam ich nicht weiter.
@dan11hh:Ich NOOB hab folgendes Problem:
Nach root@ioBroker:/opt/iobroker# iobroker host this
bekomme ich immer folgende Fehlermeldung
No connection to states 127.0.0.1:6379[redis]
Kann mir jemand helfen? Danke!
Wenn du states db und object db auf file stellst sollte iob eigentlich wieder starten.
Bei Interesse kannst du später Immer noch auf redis wechseln...
BTW, hast du das hier gesehen?
https://buanet.de/2018/08/mehr-performa ... states-db/
MfG,
André
Gesendet von unterwegs...
-
@tstueben:Hört sich gut an. Ich hoffe Du kennst eine einfache Möglichkeit ein MACVLAN auf der Synology anzulegen. Ich habe es in einem der vorherigen Posts einmal beschrieben wie es geht, aber es ist nicht ganz ohne. Gerade für Benutzer mit wenig Unix und Netzwerkkenntnisse.
Wenn Du jemanden zum Testen benötigst, melde Dich bei mir.
Vg
Stübi `
Hallo Stübi,
die Möglichkeit gibt es. Sofern man Portainer als Docker Weboberfläche benutzt. Allerdings habe ich auch schon festgestellt, dass auf der DS einige Dinge in Docker anders laufen als auf anderen Systemen…
Sobald ich einen ersten Entwurf habe, werde ich zum Testen aufrufen... Das Beta-Image ist schon vorbereitet und läuft schon...
MfG,
André
Gesendet von unterwegs... `
Dann werde ich am Wochenende einmal Portainer installieren. Ich bin gespannt wie das aussieht und was es kann.
Ich hoffe der Composer wird auch unterstützt. Den nutze ich um deinen ioBroker Container für meine Bedürfnisse anzupassen und ich kann auf Knopfdruck eine neue ioBroker Umgebung mit seperatem Redis und Asterisk Container anlegen
VG
Stübi
Gesendet von iPhone mit Tapatalk
-
@tstueben:Dann werde ich am Wochenende einmal Portainer installieren. Ich bin gespannt wie das aussieht und was es kann.
Ich hoffe der Composer wird auch unterstützt. Den nutze ich um deinen ioBroker Container für meine Bedürfnisse anzupassen und ich kann auf Knopfdruck eine neue ioBroker Umgebung mit seperatem Redis und Asterisk Container anlegen
VG
Stübi `
Genau das ist das Ziel. Iobroker mit einem Mausklick. Docker compose funktioniert. Heißt bei Portainer "Template" bzw. "Stack Template". Ebenso einfach ist das Anlegen von Macvlan…
MfG,
André
Gesendet von unterwegs...
-
…
Wie auch immer. Ich werde mich wohl vom Host-Modus verabschieden und dafür in einer neueren Version meiner Anleitung sowohl auf den Bridge-Modus als auch auf eine Lösung mit macvlan (eigene IP für den Container) eingehen. Außerdem forciere ich aktuell das Thema Portainer und die Möglichkeit mit Templates zu arbeiten um das erstellen eines ioB Containers noch einfacher zu machen...
--- `
André, cooler Tipp mit Portainer. Echt klasse, endlich eine anständige Docker Admin auf der Synology !!
-
Hallo Christian,
ich vermute mal, dass dein Container immer wieder beendet wird. Dafür habe ich im beta einen Fix gebastelt. Eigentlich war mein Container ja nur für Docker auf Synology DSM gedacht. Da tritt der Fehler nicht auf.
Andere Docker Installationen beenden hingegen Container in denen kein Prozess im Vordergrund läuft automatisch. Um dem entgegen zu wirken habe ich das hier ins Startschritt eingebaut:
https://github.com/buanet/docker-iobrok … 8770caeeef
Vielleicht hilft das auch bei dir.
Lass alles per Docker compose up -d erstellen.
MfG,
André `
Habe das gleiche Problem habe es aber nicht verstanden , was ich machen muss damit IoBroker startet.
/opt/scripts/iobroker_startup.sh: 31: /opt/scripts/iobroker_startup.sh: cannot create /opt/scripts/docker_iobroker_log.txt: Permission denied
-
Hallo André,
das war des Rätsels Lösung! Ich weiß nicht warum mir das nicht sofort aufgefallen ist. Das ein Container beendet wird wenn kein Prozess im Vordergrund läuft ist meines Wissens Standard. Zumindest hat das in der Arbeit der Docker Consultant behauptet.
P,S,; Hab dir mal noch ne PN geschickt.
Gruß
Christian `
Habe das gleiche Problem mein IoBroker startet nicht … Meine Fehlermeldung /opt/scripts/iobroker_startup.sh: 31: /opt/scripts/iobroker_startup.sh: cannot create /opt/scripts/docker_iobroker_log.txt: Permission denied
Lass alles per docker compose up -d erstellen.
iobroker:
restart: always
build: iobroker
privileged: true
stdin_open: true
tty: true
depends_on:
- fhem
ports:
#- "1880:1880" #node-red
#- "1883:1883" #mqtt
-
"2001:2001" #homematic
-
"8081:8081" #iobroker admin
-
"8282:8282" #flot
-
"8088:8088" #terminal
-
"8284:8284" #socketIO
-
"8123:8123" #homekit
-
"50005:50005" #Multihost
-
"9000:9000" #Multihost
#Multihost
volumes:
-
./iobroker:/opt/iobroker
-
./iobroker/scripts:/opt/scripts
hostname: iobroker
image: buanet/iobroker
-
Hi Shwowak,
dein Probkem ist ein anderes, der Container hat angeblich keine Schreibrechte im Ordner /opt/scripts (Pfad im Container) bzw. auf deiner Synology im Ordner /iobroker/scripts.
Folgender Abschnitt ist interessant:
volumes:
-
./iobroker:/opt/iobroker
-
./iobroker/scripts:/opt/scripts
Was passiert denn wenn du den zweiten Bindmount weglässt? Also die Zeile ./iobroker/scripts:/opt/scripts mal entfernen und dann testen.
Gruß
Christian
-
-
Vielen Dank für deine schnelle Hilfe.
Habe es mal geteste. Fehlermeldung ist weg.
Starting ioBroker…
Starting ioBroker done...
Aber kann nicht auf 192... :8081 zugreifen. Die Website ist nicht erreichbar Die Webseite unter http://192.168.200.84:8081/
-
Hallo,
erst mal danke für deine tolle Anleitung und die Mühe die du da rein steckst
Ich habe versucht dein Image zum laufen zu bekommen (auf einem Server - keine Synology) aber es klappt einfach nicht.
hier der log:
Startupscript running... Directory /opt/iobroker is empty! Restoring... Restoring done... First run preparation! Used Hostname: 8d71294e4a12 Renaming ioBroker... /opt/scripts/iobroker_startup.sh: 19: /opt/scripts/iobroker_startup.sh: iobroker: Permission denied First run preparation done... Initializing Avahi-Daemon... Restarting... Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon. Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon. Initializing Avahi-Daemon done... Starting ioBroker... Starting ioBroker done...
Soweit sieht es eigentlich gut aus … aber es ist nicht erreichbar.
ich habe /opt/iobroker/ als Volume auf mein lokales System gemappt
Network Mode habe ich schon alles versucht von Bridge über Host ... klappt einfach nicht
wäre klasse wenn mir jemand helfen kann?!
P.S. wie kann ich schon bei starten des Containers sicherstellen dass ich die ioBroker WebOberfläche erreiche? das System läuft headless.
P.P.S. ich nutze dein Image mit dem Tag BETA (da das ja das script dabei hat, mit latest hatte sich der container in dauerschleife alle 11 Sek. neugestartet)
-
Hallo,
aktuell baue ich sehr viel um. Kann also durchaus passieren, dass mein beta mal broken ist…
Laut deinem Log gibt es Probleme beim rename. Irgendwas passt da auch mit den Berechtigungen nicht. Dein hostname sieht auch komisch aus...
Ich werde gleich mal mein beta build anstoßen. Vielleicht klappt es mit der Version mit den aktuellsten Änderungen...
Versuch mal in ner Stunde nochmal..
Alternative: latest und beim Starten tail - f /dev/null ausführen lassen... Dann startet der Container nicht immer neu...
MfG,
André
Gesendet von unterwegs...
-
[EDIT 28.09.2017] Achtung! Die Anleitung aus diesem Post wird nicht mehr gepflegt. Ich habe aus der gesamten Diskussion ein offizielles Tutorial erstellt und veröffentlicht, welches ich natürlich auch entsprechend pflegen und aktualisieren werde. Natürlich werde ich hier wie gewohnt weiter auf Fragen und Probleme antworten und ggf. weitere Punkte aus der Diskussion in das Tutorial einfließen lassen.
Die offizielle Anleitung liegt ab sofort hier: https://buanet.de/2017/09/iobroker-unte … skstation/ `
Hallo André!
Ich habe dein Image schon länger erfolgreich am laufen.
Ich hab es wie hier erklärt installiert. Inkl. Transfer-Verzeichnis, usw.
Allerdings stehe ich jetzt leider an.
Würde gern das aktuellste Image verwenden (zwecks Node 8, usw.)!
Wie muss ich da jetzt vorgehen?
Danke
filename="Synology_Nega_3 - Synology DiskStation.png" index="0">~~ filename="Synology_Nega_3 - Synology DiskStation (1).png" index="1">~~
-
Hallo Zusammen
Ich hatte Probleme mit meinem ioBroker auf dem Raspi (Dachte es seien Leistungsprobleme. Deshalb habe ich ioBroker komplett neu auf meiner Syno installiert. Dies gemäss der Anleitung von Andre…... `
Hallo Zusammen
Hab den Fehler bei mir gefunden. Ich habe erst jetzt das Prinzip vom Adapter verstanden, also Adapter aus eigener URL installieren heisst dass er dann nur als Adapter auftaucht, und dann noch eine instanz erzeugt werden muss.
Sorry…..
Was ich noch nicht gefunden habe ist, als welcher User der ioBroker mit der Version von Andre arbeitet.
Grüsse
-
Hallo Zusammen,
bitte entschuldigt, dass ich hier aktuell nur spärlich Support anbieten kann. Ich arbeite gerade sehr intensiv an der neuen Version des Containers die ich möglichst bald, mit samt eines neuen Tutorials, veröffentlichen möchte.
Das neue Tutorial wird dann auch einen Teil zum Update von node6 auf node8 enthalten.
Während ich noch an dem neuen Tutorial arbeite, ist das Image eigentlich soweit fertig und steht als aktuelle beta zur Verfügung. Ich würde mich freuen wenn sich ein paar Betatester fänden die mal testen ob das, was ich mir da ausgedacht habe auch außerhalb meiner Testumgebung funktioniert…
Die wichtigsten Neuerungen habe ich in der readme auf git schon beschrieben: https://github.com/buanet/docker-iobrok ... /README.md
Kurz zusammengefasst:
-
Installation von zusätzlichen paketen per Umgebungsvariable
-
Aktivierung von avahi für yahka per Umgebungsvariable nach Bedarf
-
Mounten eines leeren oder bereits gefüllten Verzeichnisses unter /opt/iobroker möglich....
Über Feedback würde ich mich freuen, gerne auch per Mail (Kontakt über buanet,de). Eventuell kann ich das ein oder Andere dann noch ins Tutorial mit einfließen lassen.
Danke.
MfG,
André
-
-
wenn ich mit
docker exec -it iobroker /bin/bash
in den Container einsteige und ps -aux | -less eingebe bekomme ich
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND iobroker 1 0.0 0.0 4288 724 ? Ss 15:56 0:00 sh /opt/scripts/iobroker_startup.sh iobroker 10 0.2 0.5 923652 45696 ? Sl 15:56 0:00 iobroker.js-controller iobroker 11 0.0 0.0 5876 704 ? S 15:56 0:00 tail -f /dev/null iobroker 21 0.1 0.0 19884 3756 pts/0 Ss 16:00 0:00 /bin/bash iobroker 30 0.0 0.0 38308 3096 pts/0 R+ 16:01 0:00 ps -aux iobroker 31 0.0 0.0 8200 856 pts/0 S+ 16:01 0:00 less
das Webinterface ist aber nicht erreichbar.
Weder im Bridge Modus (mit exposed port 8081:8081) noch im Host modus.
Wäre super wenn mir jemand helfen könnte.
docker logs -f iobroker Version: 2.0.4beta Startupscript running... Starting ioBroker... Starting ioBroker done...
-
wenn ich mit
docker exec -it iobroker /bin/bash
in den Container einsteige und ps -aux | -less eingebe bekomme ich
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND iobroker 1 0.0 0.0 4288 724 ? Ss 15:56 0:00 sh /opt/scripts/iobroker_startup.sh iobroker 10 0.2 0.5 923652 45696 ? Sl 15:56 0:00 iobroker.js-controller iobroker 11 0.0 0.0 5876 704 ? S 15:56 0:00 tail -f /dev/null iobroker 21 0.1 0.0 19884 3756 pts/0 Ss 16:00 0:00 /bin/bash iobroker 30 0.0 0.0 38308 3096 pts/0 R+ 16:01 0:00 ps -aux iobroker 31 0.0 0.0 8200 856 pts/0 S+ 16:01 0:00 less
das Webinterface ist aber nicht erreichbar.
Weder im Bridge Modus (mit exposed port 8081:8081) noch im Host modus.
Wäre super wenn mir jemand helfen könnte.
docker logs -f iobroker Version: 2.0.4beta Startupscript running... Starting ioBroker... Starting ioBroker done... ```` ` Keine Adapter gestartet. Es müsste admin. 0 und discovery.0 laufen. Da der jscontroller läuft tippe ich auf hostname issue… Gib dem container beim Start mal nen hostname mit...
MfG,
André
Gesendet von unterwegs...
-
Also im "Bridge Modus" klappt es wenn ich einen Hostname angebe.
Das Problem ist weiterhin das Mappen des "config" Verzeichnisses also "/opt/iobroker/"
Sobald ich dieses auf meinen Server mappe kommt dieses Problem
/opt/scripts/iobroker_startup.sh: 37: /opt/scripts/iobroker_startup.sh: iobroker: Permission denied
-
könnte mir jemand kurz erklären was dahinter steckt:
` > - Installation von zusätzlichen paketen per Umgebungsvariable- Aktivierung von avahi für yahka per Umgebungsvariable nach Bedarf `
Was ist hier der Use-Case?
Danke!
-
Also im "Bridge Modus" klappt es wenn ich einen Hostname angebe.
Das Problem ist weiterhin das Mappen des "config" Verzeichnisses also "/opt/iobroker/"
Sobald ich dieses auf meinen Server mappe kommt dieses Problem
/opt/scripts/iobroker_startup.sh: 37: /opt/scripts/iobroker_startup.sh: iobroker: Permission denied ` Zeile 37 im Startup Script ist das renaming vom iobroker. Das ist dein Problem. Auf einigen Systemen hat Docker Probleme mit der Verwendung von sudo im host Modus. Bei meiner disk Station ist das auch so. Auf einem Debian mit Docker geht's. Eine Lösung kenne ich nicht. Hab dazu schon nen ganzen Abend gegoogelt, ohne Erfolg.
Im neuen Tutorial streiche ich den host Modus komplett. Wird ersetzt durch bridged oder macvlan… Sorry, eine andere Lösung habe ich nicht parat. Hängt irgendwie mit dem neuen setup von iobroker zusammen...
MfG,
André
Gesendet von unterwegs...
-
könnte mir jemand kurz erklären was dahinter steckt:
` > - Installation von zusätzlichen paketen per Umgebungsvariable- Aktivierung von avahi für yahka per Umgebungsvariable nach Bedarf `
Was ist hier der Use-Case?
Danke! ` Du kannst beim Erstellen des Containers Umgebungsvariablen angeben. Mit deren Hilfe kann der Container unterschiedlich konfiguriert werden.
Mit PACKAGES kannst du Linux Pakete nachinstallieren die von bestimmten Adaptern benötigt werden. Da nicht jeder die selben Adapter benutzt fand ich es sinnvoll das individuell zu machen… Sonst würde das das Image nur unnötig aufblähen.
Mit AVAHI kannst du einen Hilfsdienst aktivieren den du benötigst wenn du den yahka Adapter verwenden willst. Braucht auch nicht jeder, muss also nicht überall mit laufen...
MfG,
André
Gesendet von unterwegs...
-
könnte mir jemand kurz erklären was dahinter steckt:
` > - Installation von zusätzlichen paketen per Umgebungsvariable- Aktivierung von avahi für yahka per Umgebungsvariable nach Bedarf `
Was ist hier der Use-Case?
Danke! ` Du kannst beim Erstellen des Containers Umgebungsvariablen angeben. Mit deren Hilfe kann der Container unterschiedlich konfiguriert werden.
Mit PACKAGES kannst du Linux Pakete nachinstallieren die von bestimmten Adaptern benötigt werden. Da nicht jeder die selben Adapter benutzt fand ich es sinnvoll das individuell zu machen… Sonst würde das das Image nur unnötig aufblähen.
Mit AVAHI kannst du einen Hilfsdienst aktivieren den du benötigst wenn du den yahka Adapter verwenden willst. Braucht auch nicht jeder, muss also nicht überall mit laufen...
MfG,
André
Gesendet von unterwegs... `
Nettes Feature, ich finde es einfacher ein neues Image zu erstellen und dann die Pakete mitzunehmen. Man könnte dann auch noch eigene Skripte aufrufen und in denen Dein Startskript.
Son nutze ich z.B. Dein Image
# Dockerfile FROM buanet/iobroker:beta RUN apt-get -y update && apt-get install -y vim libavahi-compat-libdnssd-dev ffmpeg net-tools dnsutils procps pkg-config libudev-dev build-essential curl unzip
und dann Image erzeugen mit
sudo docker build -t myiobroker .