NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
-
@duffbeer2000 @andre also im neuen Container verwende ich die neueste Version von buanet. Nur mein aktueller Container ist alt aus dem das Backup ist.
-
Hallo Iobroker,
Ich habe soeben das Problem, dass mein Zigbee Stick nicht mehr erkannt wird.
Mein Iobroker läuft auf einer Synology 918+ und der Stick ist direkt am USB angeschlossen.
Er wurde bis jetzt immer als ttyACM1 erkannt.
Seid ca 1Std. wird er dort nicht mehr angezeigt und mein angezeigt und der Container geht in stopp. In der Synology Info-Center ist er aber immer noch da und wird dort auch als CC2538 angezeigt.
Was kann da passiert sein? -
( Glaskugel .... man kann leider nicht´s erkennen )
Mit der 4.1.0 funktioniert es ohne Problem , den ... bzw. mehrere USB Devices durchzureichen .
-
Ich habe jetzt versuchsweise mal einen weiteren Stick angesteckt und jetzt werden beide angezeigt.
Gebe ich den zweiten wieder weg dann wird auch der ttyACM1 nicht mehr angezeigt.
Alles lief jetzt seid drei Wochen ohne Änderungen absolut problemlos und jetzt so ein Phänomen. -
@gerald123 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
und der Container geht in stopp.
???
-
@Glasfaser Bei mir ist alles über Portainer wie von Andre beschrieben installiert.
Der USB Port ist in den Container weitergeleitet und wen der Port fehlt geht bei mir auch der Container in stopp -
Habe ich noch nie gehört ... wenn eine Device (USB) fehlt das der Container stoppt.
Schau mal im im Protokoll was er dann für eine Fehlermeldung auswirft. -
Hallo allerseits,
ich würde gerne den "MIHOME-VACUUM" Adapter in meinem iobroker-Docker installieren.
Leider klappt das nicht, weil dafür ein paar libs und canvas notwendig sind:Please install canvas and the libs manually with: sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev sudo npm install canvas --unsafe-perm=true
Die libs kann ich dem Docker-File über die die ENV-Variable "PACKAGES" mitgeben...das scheint auch zu funktionieren.
Aber für canvas finde ich keine Lösung.Hat da jemand eine schlaue Idee, wie man den Adapter im Docker zum laufen bekommt?
npm ERR! A complete log of this run can be found in:npm ERR! /opt/iobroker/.npm/_logs/2020-03-28T15_46_02_615Z-debug.log ERROR: host.iobroker Cannot install iobroker.mihome-vacuum@2.0.7: 1 ERROR: process exited with code 25
-
@Scheddy das es ein Backup einer älteren Version ist sollte kein Problem sein. Aktuelles Image nehmen, neuen Ordner für iobroker data und da das eine Backup file rein und wenn was nicht klappen sollte dann bitte das Log file vom Container start posten.
-
@FoodFighter
Scheinbar lag der Fehler darin, dass die Paketebuild-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
nicht installiert werden, wenn man sie in der ENV-Variable einträgt.
Wenn der Container hochgefahren ist und man über dessen Konsole
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
ausführt, werden keine Pakete gefunden - man MUSS vorher ein
sudo apt-get update
ausführen, danach kann man über die Konsole die Pakete installieren, dann funktioniert auch alles.
Wieso ist das so und wieso macht der start-script nicht automatisch ein apt-get update?
-
@duffbeer2000 okay danke schon mal für die Info das alte Backups funktionieren sollten.
Ich habe es gerade noch mal gestartet mit den Backups und leerem Ordner, wie von dir beschrieben.
Anbei alle wichtigen Logs, ich sehe leider nix was mir weiterhelfen würde.
iobrokerneu.html iobroker.2020-03-28.log restore.log -
@Scheddy Sehr komisch, ich bin auch damit auf die 2er js-controller version inkl. Node.js upgrade gegangen. Was ist denn wenn du den Backitup Adapter installierst und dann damit ein Restore durchführst?
Bzw. andere Idee:- Du startest den Container mit einem leeren Data-Folder und wartest kurz bis du auf die Admin-Oberfläche kommst.
- Dann stoppst du den Container wieder und löscht aus dem Daten-Verzeichnis des Containers den Ordner "iobroker-data" und kopierst von deinem alten Container den Ordner "iobroker-data" in das neue Datenverzeichnis.
- Jetzt startest du den neuen Container wieder und ioBroker sollte anfangen alle fehlenden Adapter zu installieren.
-
@duffbeer2000 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Scheddy Sehr komisch, ich bin auch damit auf die 2er js-controller version inkl. Node.js upgrade gegangen. Was ist denn wenn du den Backitup Adapter installierst und dann damit ein Restore durchführst?
Bzw. andere Idee:- Du startest den Container mit einem leeren Data-Folder und wartest kurz bis du auf die Admin-Oberfläche kommst.
- Dann stoppst du den Container wieder und löscht aus dem Daten-Verzeichnis des Containers den Ordner "iobroker-data" und kopierst von deinem alten Container den Ordner "iobroker-data" in das neue Datenverzeichnis.
- Jetzt startest du den neuen Container wieder und ioBroker sollte anfangen alle fehlenden Adapter zu installieren.
Die andere Idee scheint zu funktionieren. Adapter sind installier mein VIS läuft. Bisher noch nix aufgefallen was NICHT funktioniert Ich hoffe es bleibt so. Tausend Dank für deine Hilfe!
-
@Scheddy Perfekt, das freut mich zu hören. Wenns jetzt nicht geklappt hätte wäre ich auch überfragt gewesen
-
@FoodFighter
Was sagt denn das Logfile beim Starten des Containers zur Installation der von dir gewünschten Pakete? Eigentlich sollte die dann dort aufgelistet werden.@andre
Könntest du vielleicht noch mal die Anleitung zum Update des js-controllers mit in die Readme auf Github aufnehmen?
Vielleicht wäre es ja sogar möglich, dass dein Startscript das auf Wunsch (env Variabel) oder nach Prüfung ob ansonsten alle Adapter aktuell sind automatisch macht? -
@Holzlenkrad
Ja, die Pakete werden in der Startscript-log aufgelistet.
Das Problem war, dass ich das per default eingetragene "vi" noch vor allen anderen Paketen drin hatte. Vi existiert in der Paketliste (arm7 - RaspberryPi4) aber nicht, so wurde die apt-get install direkt bei vi abgebrochen und hat die anderen Pakete erst gar nicht angetastet.
Leider wird dies (noch ?) nicht in der log gemeldet, dass es bei der apt-get install einen fehler gab und nicht alle Pekete installiert werden konnten.Sobald ich das "vi" aus der ENV-PACKAGES-Variable raus gelöscht habe, funktioniert alles, wie es soll.
Wieso man die Pakete nach dem Hochfahren erst nach einem erneuten apt-get update installieren konnte bleibt mir schleierhaft - aber nun funktioniert ja alles beim Container-Start, von daher bin ich zufrieden.
Danke -
@FoodFighter said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Wieso man die Pakete nach dem Hochfahren erst nach einem erneuten apt-get update installieren konnte bleibt mir schleierhaft - aber nun funktioniert ja alles beim Container-Start, von daher bin ich zufrieden.
Das liegt daran, weil es bei Docker Container best practice ist, die Paketlisten nach der Installation der benötigten Pakete wieder zu löschen. Somit reduziert man die Image-Größe und - viel wichtiger - sorgt dafür, dass ein möglichst großer Teil des Containers mit evtl. anderen verwendeten Container übereinstimmt, sodass möglichst viele Ressourcen für mehrere Container genutzt werden können.
-
@Holzlenkrad
Vielen Dank für die Aufklärung -
@FoodFighter sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das Problem war, dass ich das per default eingetragene "vi" noch vor allen anderen Paketen drin hatte. Vi existiert in der Paketliste (arm7 - RaspberryPi4) aber nicht, so wurde die apt-get install direkt bei vi abgebrochen und hat die anderen Pakete erst gar nicht angetastet.
Leider wird dies (noch ?) nicht in der log gemeldet, dass es bei der apt-get install einen fehler gab und nicht alle Pekete installiert werden konnten.Dazu habe ich bereits was gemacht. Ist aber aktuell noch nicht im beta vorhanden. Werde die Option erst testen und dann ins nächste Beta überführen.
https://github.com/buanet/docker-iobroker/issues/86#issuecomment-609089241
MfG,
André