NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@andre
leider hatte ich das bereits herausgefunden. Bei setcap, so wie du es beschrieben hast kommt der Fehler:Failed to set capabilities on file `/usr/bin/node' (Operation not supported)
The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) fileDas node red oder andere module mit dem User 1000 laufen ist leider auch klar. Wie ich dies jedoch ändere nicht. Dumm nur, das wenn ich mit iptables die Weiterleitung mache, Alexa es immer noch nicht erkennt.
-
@andre kurze Rückfrage zu den Versionen. Ich wollte eigentlich meinen vorhandenen 3.0 container mal wieder mit dem letzten Stand aktualisieren, aber das steht noch auf debian:latest oder? Das würde mir ja dann Debian 10 bringen, das wäre schlecht. Muss ich auf die beta upgraden?
-
@whfor Im Moment bekomme ich absolut keinen Zugang zu deinem Problem.... setcap, User 1000, iptables???
Am Besten wir fangen nochmal ganz von vorne an. Schreibe genau was du vor hast und was du gemacht hast (nicht ala "wie du es beschrieben hast").
Screenshots von Configs helfen manchmal wunder. Außerdem wäre es interessant was für ein Setup du hast: MACVLAN? Version (beta/ latest), usw...Meine Testumgebung ist bereit. Nur so zum Spaß habe ich gerade mal den NodeRed-Adapert installiert und auf port 80 gelegt. Funktioniert schonmal...
@whfor sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das node red oder andere module mit dem User 1000 laufen ist leider auch klar.
Was meinst du damit? Wo eckst du damit an? Im neuen Beta kommt demnächst eine ENV dazu mit der gu dann uid und gid individuell anpassen kannst... Für Synology-user sollte das aber eigentlich keine Rolle spielen...
MfG,
André -
@cburghardt sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre kurze Rückfrage zu den Versionen. Ich wollte eigentlich meinen vorhandenen 3.0 container mal wieder mit dem letzten Stand aktualisieren, aber das steht noch auf debian:latest oder? Das würde mir ja dann Debian 10 bringen, das wäre schlecht. Muss ich auf die beta upgraden?
Schau mal hier: https://github.com/buanet/docker-iobroker/blob/master/README.md
v3.1.0 von gestern Abend. Habe von latest auf stretch umgestellt. Debian 10 ist für mich aktuell noch kein Thema.
MfG,
André -
Cool, sehr gut, danke!
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich schaue mir das gerne heute Abend mal an, aber im Moment kann ich mir nicht erklären warum das so auftritt.
Hier noch mal ein paar Details, weil das Problem auch noch mit der Version 3.1.0 auftritt.
Version 2
node 8.15.0
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.10
Wie man sieht, gibt es keine Probleme.
Version 3
node 8.16.1
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.12 (MACVLAN)
Hier kommt es zum "\r"-Problem, obwohl die gemounteten Verzeichnisse identisch sind.
Was für Infos könnten dir noch weiterhelfen?
Gruß,
Thorsten
-
@andre
ok, sorry wenn es unverständlich geschrieben war.mein Setup:
Synology 1512+
Docker:- Portainer (bridge)
- iobroker (MACVLAN)
um nicht die Iobroker Cloud zu verwenden wollte ich über amazon-echo-hub (Modul von node-red) arbeiten. Dieses benötigt jedoch den Port 80, der wiederum nur privilegierten Benutzern oder Prozessen zur Verfügung steht. Die Iobroker controller startest du ja über "sudo -u iobroker ..." (userid 1000). Nun wollte ich, mit setcap, node die Rechte geben den Port zu verwenden, was jedoch nicht geht da die Partition scheinbar mit dem "nosuid" Parameter gemountet wird. Auch das setzten von iptables funktioniert nicht, Alexa akzeptiert dies nicht (ich weiß nicht warum).
Als Lösung habe ich nun "-u iobroker" aus deinem Script entfernt. Nun klappt alles, jedoch laufen alle Module bzw. controller mit root Rechten.
P.S. Für mich sind die Netzwerke host oder bridge nicht geeignet, da ich auf der Synology einen Webserver am laufen haben.
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@cburghardt sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre kurze Rückfrage zu den Versionen. Ich wollte eigentlich meinen vorhandenen 3.0 container mal wieder mit dem letzten Stand aktualisieren, aber das steht noch auf debian:latest oder? Das würde mir ja dann Debian 10 bringen, das wäre schlecht. Muss ich auf die beta upgraden?
Schau mal hier: https://github.com/buanet/docker-iobroker/blob/master/README.md
v3.1.0 von gestern Abend. Habe von latest auf stretch umgestellt. Debian 10 ist für mich aktuell noch kein Thema.
MfG,
AndréWie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)
-
Hallo,
ich habe heute mit dem latest image einen neuen Container erstellt.Leider bleibt der histroy Adapter rot.
Hat sich hier was geändert, bzw. was kann ich jetzt machen?
Hier mein LOG.
Grüße
Thomas -
@calliou1234 lass den fixer mal laufen
curl -sL https://iobroker.net/fix.sh | bash -
-
@Shwowak Hast du hierzu eine Lösung gefunden?
Ich habe bei der Installation des Containers denselben Fehler.
Allerdings erst beim zweiten Versuch den Container zu installieren.
Beim ersten Mal ging es problemlos.Im Portainer erscheinen folgende Meldungen beim Versuch den iobroker Container 3.10 zu installieren:
Installing additional packages...
The following packages will be installed: nano
Installing additional packages done...
cp: der Aufruf von stat für '/opt/iobroker/iobroker' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
sed: /opt/iobroker/iobroker kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden
Changing permissions upon first run (This might take a while! Please be patient!)...
Changing permissions done...
Starting ioBroker...
------- ioBroker Logging -------
module.js:550
throw err; ^
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/controller.js'
at Function.Module._resolveFilename (module.js:548:15) at Function.Module._load (module.js:475:25) at Function.Module.runMain (module.js:694:10) at startup (bootstrap_node.js:204:16) at bootstrap_node.js:625:3
-
Konnte mein Problem nun lösen.
Da die Installation beim ersten Mal problemlos durchlief, konnten es ja nur Dateien sein, die nicht sauber gelöscht wurden.
Im Portainer Dashboard konnte man sehen, dass es vier ungenutzte Volumes gab.
Nachdem ich alle vier gelöscht hatte, lief die Installation.Nun muss ich nur noch meine bestehende Installation übernehmen.
-
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)
Warum sollte es über Recreate mit dem aktivierten "Latest"-Button nicht gehen? Damit wird doch immer die letzte Version geladen. Also bei mir hat das Update damit einwandfrei funktioniert.
-
Hallo Ihr Cracks,
habe den Docker installiert (V3) , Host Modus und eine DS218+.
Habe vom Raspi 3B den Iobroker gepackt und in der Synology entpackt und gemounted. Nach Anleitung.
So funktioniert auch alles. Will ich aber Adapter updaten dann kommen npm Fehler.
Leider habe ich null Plan von der Synology Materie
NPM Version ist 6.4.1
Node ist 8.16.1 -
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Ich schaue mir das gerne heute Abend mal an, aber im Moment kann ich mir nicht erklären warum das so auftritt.
Hier noch mal ein paar Details, weil das Problem auch noch mit der Version 3.1.0 auftritt.
Version 2
node 8.15.0
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.10
Wie man sieht, gibt es keine Probleme.
Version 3
node 8.16.1
npm 6.4.1
volume: /docker/ioBroker <-> /opt/iobroker
Zugriff über 192.168.0.12 (MACVLAN)
Hier kommt es zum "\r"-Problem, obwohl die gemounteten Verzeichnisse identisch sind.
Was für Infos könnten dir noch weiterhelfen?
Gruß,
Thorsten
Findet sich jemand der dazu mal einen Issue auf Github einstellt? Hier im Forum verliere ich das leider immer wieder aus den Augen. Danke.
MfG,
André -
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Findet sich jemand der dazu mal einen Issue auf Github einstellt?
Hallo André,
genügt dir das so? Klick!
Gruß,
Thorsten
-
Hallo zusammen,
ich habe diesen Thread schon mehrmals rauf und runter gelesen und doch irgendwie den Überblick verloren.
ich habe ioBroker auf einem Docker auf meiner NAS installiert, ohne mapping und möchte jetzt updaten (Node.js und js.controller).
Was muss ich genau machen um nichts zu zerstören?
ich muss dazu sagen, dass ich ein absoluter Neuling in dem Thema bin.
Gruß Oliver
-
@whfor Habe es auf meinem Testsystem zum Laufen gebracht. Vielleicht hilft dies hier:
- Beim Erstellen/ Duplizieren des ioBroker-Containers unter "Capabilities" sicherstellen, dass "cap_net_bind_service" aktiviert ist
- Nach dem Erstellen über die Kommandozeile als root:
setcap 'cap_net_bind_service=+ep' `which node`
- Im ioBroker Admin sicherstellen dass node-red nicht auf port 80 läuft:
- Im Node Red den Hub auf Port 80 laufen lassen:
Danach konnte ich mein Device "Test" über die Alexa-App finden....
MfG,
André - Beim Erstellen/ Duplizieren des ioBroker-Containers unter "Capabilities" sicherstellen, dass "cap_net_bind_service" aktiviert ist
-
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wie mach ich am besten/einfachsten das Update auf 3.1.0 mit Portainer ? Über Recreate geht es ja dann nicht, oder ? (da steht ja latest, wenn ich es auswähle)
Warum sollte es über Recreate mit dem aktivierten "Latest"-Button nicht gehen? Damit wird doch immer die letzte Version geladen. Also bei mir hat das Update damit einwandfrei funktioniert.
Genau so funktioniert es. Allerdings wird mit dem Button immer das zuletzt generierte Iamge vom im Container verwendeten Tag herunter geladen. Wenn man den Container mit "latest"erstellt hat, klappt das Update, Hat man eine konkrete Version genommen (z.B. v3.0.0) wird es nicht gelingen. Dann muss man den Button "duplicate/edit" nehmen und das verwendete Image auf die aktuelle Version anpassen...
MfG,
André -
@calliou1234 Berechtigungsproblem für den Pfad /media/iohistory... ioBroker läuft nicht als root, kann also dort nciht schreiben. Entweder Pfad ändern oder im Conainer die Rechte für den Pfad anpassen...
MfG,
André