NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@Michi_Pi sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
hab es auch mit dem macvlan erstellt, muss daher die ports nicht irgendwo öffnen, oder?
muss ich die angegebenen packages auch installieren? libcap-dev und coreutils arp-scan?Richtig. Nein. Nein.
Master:
IOB_MULTIHOST=masterSlave:
IOB_MULTIHOST=slave
IOB_OBJECTSDB_HOST=[IP_DES_MASTER]
IOB_OBJECTSDB_PORT=9001
IOB_OBJECTSDB_TYPE=file
IOB_STATESDB_HOST=[IP_DES_MASTER]
IOB_STATESDB_PORT=9000
IOB_STATESDB_TYPE=fileWenn du für due DBs file verwendest, dann beim Master nichts mit geben. Nur sagen dass er ein Master ist.
Beim Slave muss alles rein, damit er sich für States und Objects auf die DB des Master verbindet.MfG,
André -
@andre ok dann wenigstens nen Tip ob apt-get und Openssh gehen müsster? bzw wie sonst? mit apt-get und mit PACKAGES in den ENV kam ich nicht weiter...
Welches ware der richtige weg im Container?
-
@andre sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
IOB_MULTIHOST
ahh.... jetzt hab ich mein problem gefunden, (vielleicht auch ein denkfehler)
Hab beim Master für Obkjet und states auch nochmal die IP des Masters angegeben, das mag er wohl nicht. Hab jetzt 0.0.0.0 dann gings. -
@Boardy sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
ob apt-get und Openssh gehen müsster?
Ja. Im Container läuft ein Debian Buster. Die Befehle sollten funktionieren.
Mit der Umgebungsvariable PACKAGES kannst du Linux Pakete automatisch vom Start Script installieren lassen. Wenn es da Konfiguration braucht, kannst du das über benutzerdefinierte Start Scripts machen. Alles was du manuell in die Kommandozeile haust ist nach einem Recreate verschwunden, daher müssten die Sachen über PACKAGES installiert und benutzerdefinierte Start Scrips konfiguriert werden damit du länger Freude daran hast...
MfG,
André -
@Michi_Pi sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Hab jetzt 0.0.0.0 dann gings.
Das macht er automatisch wenn du IOB_MULTIHOST=master setzt...
MfG,
André -
Hallöchen.
Ist irgendwie bekannt ob es Probleme mit ioBroker als Docker und MACVLAN und MariaDB auf der selben Diskstation gibt?
Ich habe den SQL Adapter installiert aber bekomme einfach keine Verbindung zur Datenbank. Laut Fehler ist der Host nicht erreichbar.
Mit z.B. HeidiSQL vom Windows PC aus macht die Verbindung mit dem selben Nutzer und den selben Angaben zu IP und Port keine Probleme. -
@Zuki Hallo, nicht alles ist immer gleich ein Problem....
Dein Thema ist etwas was es in diesem Thread schon ein paar mal gab, das erste was ich dazu gefunden habe ist das hier:
https://forum.iobroker.net/topic/4733/howto-iobroker-unter-docker-auf-synology-diskstation/761Es geht einfach nicht, dass du aus dem MACVLAN heraus deinen Host erreichst. Das kann m.W. schlich nicht geroutet werden. Lösung: Zusätzliches Bridge Netzwerk. In jedem Bridge Netzwerk das du auf der DS erstellst ist die DS selbst das Gateway... da klappt die Kommunikation dann wieder...
MfG,
André -
Danke @andre
"Problem" war vielleicht das falsche Wort. Besser wäre gewesen "gibt es etwas zu beachten"
Auf jeden Fall danke für die Antwort. Hab die Posts hier zu dem Thema mal rausgesucht (hätte ich auch selbst drauf kommen können...) und bin nun schlauer
Alle Container innerhalb eines MACVLAN können sich ja untereinander erreichen. Nur zum Host selbst nicht. Gibt es falls man diese Verbindung nicht braucht, weil z.B. die Datenbank selbst auch in einem Docker läuft, trotzdem einen Grund den Weg über zwei Netzwerke, ein MACVLAN für außen und ein Bridge für "innen", zu gehen?
-
@Zuki Wenn man mit VLANS anfängt doch deswegen, weil man Subnetze voneinander isolieren will und falls der Zugriff benötigt wird, dann wenigstens eine Firewall dazwischen hängt...
Frage an dich - warum soll das VLAN auf den Host zugreifen können? das macht doch den Host unnötig angreifbar... ebenso wenn der Container mit root rechten läufen muss... mein Ziel ist es dies alles sauber zu trenne...
Mit einem decidierten RASPI oä mag das egal sein, mit nem NAS auf dem auch die Datensicherung liegt sehe ich das kritisch... -
@andre
Kannst du mir weiter helfen?
Will den Broker auf eine DS920+ in einen Docker umziehen.
Bin nach deine Anleitung auf deine Homepage vorgegangen.Habe nun Problem mit BackItUp. Beim Wiederherstellen will BackItUp ein neues Fenster auf Port 8091 aufmachen, das aber in keinem Browser angezeigt wird. (Seite nicht erreichbar).
Scheinbar wartet BackItUp auf dieser Seite auf eine Eingabe von mir da es im Hauptfenster nicht weiter geht.Was kann ich da noch machen?
Gruß
Bernd -
@Zuki sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Gibt es falls man diese Verbindung nicht braucht, weil z.B. die Datenbank selbst auch in einem Docker läuft, trotzdem einen Grund den Weg über zwei Netzwerke, ein MACVLAN für außen und ein Bridge für "innen", zu gehen?
Ich wüsste nicht welchen. Grundsätzlich sollte man ja nichts öffnen was man nicht braucht... Ich würde es also weg lassen wenn es nicht benötigt wird.:)
ABER:
Kleine Best Practice Idee: Setze nur den ioBroker als MACVLAN auf, gebe ihm als zweites Bridge Netzwerk und baue die Container wie redis, mariadb, grafana usw... ausschließlich im bridge Netzwerk und öffne dort nach außen nur Ports die du brauchst (grafana WebUI, mariadb port, usw.)... Ist m. E. ein geschickterer Weg als jedem Container ein eigene IP zu geben, die er gar nicht braucht. Es ist halt Container Virtualisierung und keine virtuellen Maschinen.MfG,
André -
@Berlon Das sagt mir gar nichts. Was soll da auf 8091 liegen?
Hast du mal den restore über die Kommandozeile probiert?@all Jemand eine Idee was der Backitup da aufrufen will???
MfG,
André -
@andre
neu jungfräuliche Brokerinstallation auf meinem Syno.
Broker, Portainer und MACVLAN nach deinen Anleitungen eingerichtet.Beim Restore will BackItUp diese Addresse öffnen:
http://192.168.6.100:8091/backitup-restore
Seite ist nicht erreichbar.
Keine Ahnung was da falsch läuft.Über Konsole ist auch kein Restore möglich da dafür der Broker gestoppt werden muss. Da gibt aber ein Problem:
root@ioBroker:/opt/iobroker# iobroker restore Stop iobroker first! root@ioBroker:/opt/iobroker# iobroker stop iobroker controller daemon is not running root@ioBroker:/opt/iobroker#
Scheinbar ist es nicht möglich den Broker auf der DS920 laufen zu lassen.
Gruß
Bernd -
@Berlon sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
Über Konsole ist auch kein Restore möglich da dafür der Broker gestoppt werden muss. Da gibt aber ein Problem:
im Buanet-Container läuft kein iobroker Dämon, weshalb iobroker stop nicht funktioniert. Verwende stattdessen
pkill -u iobroker
-
@Berlon
Lies dir mal die Anleitung zum container durch da ist bei Best Practices beschrieben wie man mit einer Sicherung neu aufsetzten kann... -
Hallo liebe iobroker Gemeinde,
ich versuche mittlerweile seit einigen Tagen den container mit iobroker auf meiner QNAP zum laufen zu bekommen.
Beim Start von iobroker bekomme ich folgende Ausgabe im Log.
------------------------------------------------------------ ----- Step 5 of 5: ioBroker startup ----- ------------------------------------------------------------ Starting ioBroker... error: exec: "node": executable file not found in $PATH
Nach zahlreichen Stunden mit verschiedenen Suchmaschinen habe ich noch keine Lösung gefunden die für mich funktioniert.
Bester Anhaltspunkt bisher: die exec heisst nicht mehr "node" sondern "nodejs"
In Verzeichnis (/usr/bin) der Umgebungsvariable gibt es jedoch "node" und "nodejs".Habt ihr Irgendwelche Ideen was ich noch probieren kann.
-
Hallo,
nach den guten Tips hier habe ich den Brocker auf einer Syno zum lauben gebracht, Backup wurde mit erfolgreich eingespielt.
Vorgehensweise habe ich abgespeichertNun habe ich das Problem das ich vom Container aus nicht auf die Syno zugreifen kann.
Der Brocker wurde nach der Anleitung von andre mit einem ein MACVLAN eingerichtet.
Die Syno läuft auf 192.168.6.10, der Brocker auf 192.168.6.100.Ich will vom Brocker aus mein Backup per FTP auf ein "offizielles" Verzeichnis auf der Syno legen.
Ich weiß, das kann auch die Syno erledigen aber ich handele lieber nach dem Erzeugerprinzip. BackItUp
hats erstellt, BackItUp soll dafür sorgen das es außerhalb des Containers abgelegt wird.Im Log eine Fehlermeldung von BackItUp:
backitup.0 2020-12-17 09:03:24.127 error (30840) Error: connect EHOSTUNREACH 192.168.6.10:21
Ähnliches Problem habe ich beim Synology Adapter. Auch hier gibt es Probleme beim Zugriff auf die Syno
synology.0 2020-12-17 09:04:02.319 error (30922) *** ERROR : src: *sendPolling syno[dsm][getPollingData] code: EHOSTUNREACH message: connect EHOSTUNREACH 192.168.6.10:5001 synology.0 2020-12-17 09:03:58.386 info (30922) starting. Version 0.1.18 in /opt/iobroker/node_modules/iobroker.synology, node: v12.20.0, js-controller: 3.1.6
Hier ist es auch unerheblich welche API-Version ich verwende.
Beide mal ist der Host nicht zu erreichen.
Die angegebenen Benutzter und PW wurden mehrfach überprüft und sind korrekt.Wo liegt die Lösung??
Gruß
Bernd -
@Berlon warum mountest du den Ordner nicht so wie deinen iobroker-Ordner?
schau mal hier wie das im Portainer aussieht -
@Berlon Das man aus nem Conrtaine rnicht auf die Syno zugreifen kann ist bekannt und hier oft Thema...
aber das Backitup sichert doch auf den Docker Ordner und diesen kannst du wunderbar mit Syno Mitteln sichern.. das ist viel einfacher:
-
@Boardy
hatte ja auch geschrieben das es mit Syno-Mitteln auch geht. Wollte halt das Verursacherprinzip anwenden.Das heißt aber auch das der Adapter Synology dann nicht lauffähig ist. Richtig??
Gruß
Bernd