ioBroker unter Docker auf der Synology DiskStation (ab v3)
Nachdem sich in letzter Zeit einiges zum Thema ioBroker und Docker getan hat und das alte Tutorial mittlerweile nicht mehr vollständig auf die aktuelle Docker Version gepasst hat, habe ich mich entschieden eine komplette Neuauflage zu machen. Damit wird praktisch die alte Version, welche ihr im Archiv weiterhin einsehen könnt, eins zu eins abgelöst.
Weiterhin habe ich versucht das Ganze einigermaßen übersichtlich zu gestalten und einige Teile in kleine „Mini-Tutorials“ ausgelagert. Hinweise findet ihr an den entsprechenden Stellen.
Ansonsten wünsche ich euch viel Erfolg beim Einrichten des ioBroker-Containers unter Docker und freue mich auf eure Kommentare.
Wichtige Neuerungen und Hinweise
Bevor es mit dem neuen Tutorial los geht ein kurzer Überblick über die größten Neuerungen.
Portainer als Ersatz der Docker Weboberfläche im DSM
Während ich im alten Tutorial noch die Weboberfläche innerhalb des Disk Station Managers (DSM) gelobt und verwendet habe, so fehlen mir dort mittlerweile jedoch wichtige Möglichkeiten zur Administration. So ist es mir z.B. bisher nicht gelungen dem ioBroker-Container mit Hilfe von MACVLAN über die DSM-Oberfläche eine eigene IP-Adresse zu verpassen. Mit Portainer hingegen ist das innerhalb von zwei Minuten erledigt. Weiterhin bietet Portainer eine Reihe von komfortablen Features, wie z.B. die Verwendung von Stacks und Templates, die die Erstellung von Containern in Zukunft noch einfacher machen werden. Dazu aber zu gegebener Zeit mehr in einem anderen Tutorial. Wie ihr Portainer einrichtet habe ich in euch beteits in einem separaten Tutorial gezeigt:
Änderungen im ioBroker Setup
Durch Änderungen im eigentlichen ioBroker-Setup und in der Art und Weise wie ioBroker später läuft, waren auch im Image umfangreiche Anpassungen notwendig. Durch z.B. die Verwendung eines separaten ioBroker Users ergeben sich ganz neue Anforderungen an die Rechteverwaltung innerhalb und auch außerhalb des Containers. Zu diesem Zweck wurde und wird das Startup-Script innerhalb des Containers ständig weiterentwickelt.
Mount des ioBroker-Verzeichnises
Auch hier gibt es Neuerungen. So ist es nun z.B. möglich, nein, wird es nun dringend empfohlen, beim ersten Start des Containers ein leeres oder ein mit einer bestehenden Installation gefülltes Verzeichnis in /opt/iobroker
zu mounten. Den Rest erledigt dann das überarbeitete Startup-Script. Die mühsame Prozedur mit dem hin und her kopieren wird dadurch deutlich vereinfacht bzw. entfällt bei einer Neuinstallation komplett!
Neue Umgebungsvariablen zur Konfiguration des Containers
Zu den bekannten Umgebungsvariablen für z.B. die Zeitzone kommen weitere Variablen hinzu die es ermöglichen Features zu aktivieren (z.B. dem AVAHI-Daemon) oder zusätzlich benötigte Linux-Pakete zu installieren. Aktuelle Informationen zu den möglichen Variablen finden sich immer im Readme auf Github.
Voraussetzungen und Vorbereitungen
Im Gegensatz zum alten Tutorial starten wir dieses Mal nicht sofort durch. Bevor wir den eigentlichen ioBroker-Container mit wenigen Klicks erstellen können, sind ein paar Vorbereitungen zu treffen.
Systemvoraussetzungen
Wie der Titel es schon vermuten lässt, habe ich dieses Tutorial ursprünglich für die Installation von ioBroker unter Docker auf einer Synology Disk Station geschrieben. Es wäre also nicht verkehrt wenn ihr eine konfigurierte Disk Station mit installiertem Docker-Paket euer eigen nennen würdet. Allerdings ist das diesmal kein Muss! Ich teste zum Beispiel meine Builds zusätzlich zur DS auch immer auf einem ganz normalen Debian PC mit installiertem Docker CE. Trotzdem beziehe ich mich in diesem Tutorial grundsätzlich in erste Linie auf die Installation auf der DS, werde aber an einigen Stellen entsprechende Anmerkungen machen wenn Schritte auf anderen Systemen deutlich abweichen. 🙂
Eine weitere Voraussetzung für das Gelingen dieses Tutorials ist die Installation von Portainer als alternative Weboberfläche zur Administration von Docker. Dazu habe ich im Vorfeld bereits ein Tutorial veröffentlicht welches beschreibt wie man Portainer auf die DS bringt. Keine Angst, bei Portainer handelt es sich lediglich um einen weiteren Docker-Container. Es ist also kein komplizierter Eingriff auf der DS nötig. Benutzer die keine DS verwenden, müssen an dieser Stelle höchstwahrscheinlich die Kommandozeile bemühen. Anleitungen zum Aufsetzen von Portainer auf einem „normalen“ Docker-PC gibt es zu genüge im Netz.
Verzeichnisstruktur
Docker-Container sind per Definition zu 100% austauschbare Hüllen für die darin laufende Software. Dies bedeutet wir müssen uns Gedanken darüber machen welche (Konfigurations-)Daten wir außerhalb des Containers speichern sollten um nicht bei jedem Update des Containers neu anfangen zu müssen.
Im Fall von ioBroker ist das relativ einfach. Das Verzeichnis /opt/iobroker
beinhaltet sämtliche Konfigurationsdateien von ioBroker und seinen Adaptern. Dieses Verzeichnis sollten wir also auf jeden Fall außerhalb des Docker-Containers lagern. Wie euch aus meinem Portainer Tutorial bereits bekannt sein sollte, habe ich für die Container-Daten auf der DS eine einfache Ordnerstruktur angelegt. Diese befindet sich bei mir auf „volume1“ im Ordner „docker“. Hier lege ich über die FileStation für jeden Container einen Order nach folgendem Schema an /volume1/docker/[containername]_[bezeichnung]
. Bei Portainer war es .../portainer_data
. Auch für ioBroker ist das nicht anders. Mein Verzeichnis heißt hier .../iobroker_data
(Im alten Tutorial hieß das Verzeichnis übrigens noch „iobroker_mount“).
Netzwerk
Immer wieder ein spannendes Thema unter Docker weil leider nicht ganz trivial. Prinzipiell sind zu diesem Thema drei Varianten relevant: Bridge, Host oder MACVLAN.
Welche Variante ihr verwendet bleibt euch überlassen. Die einfachste ist sicher der Host-Modus. Ich persönlich bevorzuge die MACVLAN-Variante, wenngleich ich diese nur den fortgeschrittenen Benutzern empfehlen würde. Hierbei sind nämlich gute Kenntnisse des eigenen Heimnetzwerks sowie der Netzwerkkonfiguration der DiskStation (Stichwort: Network-Device-Name) unerlässlich. Schaut euch am Besten mal mein Tutorial dazu an und entscheidet ob ihr das ggf. auch so hin bekommt:
Mit dem Bridged Mode kann man als Einsteiger nicht viel falsch (kaputt) machen. Als Nachteil ist hier aber zu sehen, dass jeder benötigte Port separat als Weiterleitung im Container eingetragen werden muss. Außerdem gilt für den Bridged Mode der Hinweis, dass Adapter die per Multicast arbeiten hier nicht funktionieren werden.
Außerdem gibt es die Möglichkeit den ioBroker im selben Netz wie den Host zu betreiben. Das ist auf aktuellen Linux-Hosts auch kein Problem. Die Synology Disk Stations arbeiten im DSM allerdings mit einem veralteten Linux Kernel in dem es einen bekannten Bug gibt. Der Bug verhindert die Ausführung von sudo im Container. Für den Normalbetrieb geht das ist Ordnung (Habe ich im Image gefixt) sobald es aber z.B. um das Update des js-controllers geht gibt es Probleme. Aus diesem Grund empfehle ich auf den Host Modus beim Einsatz einer Synology DiskStation zu verzichten.
Übernahme von ioBroker Daten aus anderem System
Natürlich ist die Datenübernahme aus einem bereits laufenden ioBroker ein wichtiges Thema. Meine Empfehlung: Backup und Restore.
Der ioBroker bringt von Haus aus eine Backup-Funktion mit die auch über einen Adapter getriggert werden kann. Ich habe zu diesem Thema ebenfall ein kleines Tutorial verfasst. Die Datenübernahme ist also praktisch ein simpler Restore. Mehr Infos dazu hier:
Damit sollten dann alle Voraussetzungen erfüllt sein und wir können den ioBroker Container erstellen.
Neuen Docker Container erstellen
OK, nachdem wir alle Voraussetzungen geklärt haben, sollte das Erstellen des Containers keine große Hürde mehr darstellen. Los geht es natürlich in der Portainer-Weboberfläche unter dem Punkt: „Containers“.
Über den Button „Add container“ gelangen wir in ein Formular. Auch hier sind wieder einige Felder zu füllen.
Als Namen vergeben wir zunächst einen aussagekräftigen Namen. Ich schlage „iobroker“ vor (bei mir im Testumfeld „iobrokertest“).
Das Image beziehen wir aus der Registry „DockerHub“ und es heißt „buanet/iobroker:latest“. Auch wenn wir es bisher nicht geladen haben, können wir es hier hinterlegen. Beim Erstellen des Containers wird das Image automatisch heruntergeladen. Achtung: Das könnte etwas Zeit in Anspruch nehmen! Unter „Images“ könnte man das Image vorab herunterladen (Stichwort: pull).
Für den Fall dass ihr den ioBroker im Bridged Modus laufen lassen wollt, müssen im Bereich „Ports configuration“ die Port-Weiterleitungen für die von eurem ioBroker und seinen Adaptern verwendeten Ports eingerichtet werden. Für den Admin-Adapter ist das z.B. der Port 8081.
In meinem Fall werde ich die MACVLAN-Konfiguration verwenden, welche ich bereits etwas weiter oben angesprochen habe. Daher brauche ich an dieser Stelle keine Ports mappen (weiterleiten).
Den Bereich „Access control“ können wir einfach ignorieren oder falls gewünscht natürlich auch entsprechend konfigurieren.
Scrollen wir nun nach unten finden wir einen Button „Deploy the container“. Diesen drücken wir aber noch nicht! Zuvor konfigurieren wir noch ein paar „Advanced container settings“.
Erster wichtiger Punkt hier: Volumes. Hier mounten wir unser lokales Verzeichnis in den ioBroker, damit unsere Daten lokal auf der DS bleiben und nicht aus Versehen mit dem Container gelöscht werden können. Dazu hatten wir ja bereits eine Ordnerstruktur angelegt, welche wir jetzt wie folgt einbinden.
Durch Klick auf „map additional volume“ erscheinen zwei neue Felder. Im ersten Feld tragen wir den Pfad innerhalb des Containers /opt/iobroker
ein und wählen anschließend den Button „Bind“. Im zweiten Feld tragen wir den lokalen Pfad auf der DS ein. Dieser sollte natürlich „Writeable“ (beschreibbar) sein.
Dann ist das Netzwerk an der Reihe. Hier wählen wir unser Netzwerk aus, in das wir unseren ioBroker einbinden wollen. In meinem Fall ist dies das vorab angelegte MACVLAN Netzwerk „iob_public“. Als Hostname schlage ich wieder „iobroker“ vor (bei mir entsprechend „iobrokertest“). Weitere Einstellungen müssen hier nicht getätigt werden.
Unter „Env“ können wir nun optional Einfluss auf die Umgebungsvariablen zur Containerkonfiguration nehmen. In meinem Fall habe ich zu Demonstrationszwecken mal die beiden variablen „AVAHI=false“ und „PACKAGES=nano“ gesetzt. Weitere Informationen zu verwendbaren Variablen gibt es hier in der Readme auf Github.
Das sollten dann auch die wesentlichen Einstellungen gewesen sein. Natürlich könnt ihr nach Bedarf auch noch weitere Optionen konfigurieren. Für unseren Fall sollte das hier aber reichen und wir können endlich den Button „Deploy the container“ betätigen.
Container prüfen
Je nachdem ob Portainer nun das Image noch laden muss, kann der Prozess eine Weile dauern. Im Anschluss sollte der neu erstellte Container in der Containerliste auftauchen.
Mit einem Klick auf den Containernamen in der Liste könnt ihr euch weitere Informationen zum Container anzeigen lassen. Wenn es unter „Stats“ so
und unter Logs in etwa so
aussieht, dann hat wahrscheinlich alles geklappt und ihr könnt den ioBroker-Admin über den bekannten Weg „http://[name_des_hosts]:8081“ oder „http://[IP-Adresse]:8081“ aufrufen.
Hinweis
Der erste Start des Containers kann unter Umständen auch mal Minuten brauchen. Ursache ist das Startupscript das diverse Aufgaben ausführt. Sollte also euer ioBroker-Container laut Portainer laufen, ihr aber die Weboberfläche nicht erreichen, schaut bitte in die Logs des Containers (siehe etwas weiter oben), hier könnt ihr sehen wie weit das Startupscript ist und ob ioBroker schon gestartet wurde.
Updates und Backup
Jetzt läuft er also, unser neuer ioBroker-Container. Aber was nun? Ganz klar, erst einmal Adapter installieren und einrichten (worauf ich hier nicht weiter eingehen werde). Und dann? Was kommt sonst in Zukunft noch auf uns zu?
Schnell werdet ihr wohl bei den Themen „Updates & Upgrades“ sowie „Backup & Restore“ landen. Für diese Beiden Themenbereiche habe ich bereits separate Tutorials verfasst. Schaut doch als Nächstes einfach mal dort vorbei.
Zugriff auf die Konsole des Containers
Es soll ja vorkommen, dass man mal über die Konsole Zugriff auf den ioBroker benötigt. Auch dies können wir über Portainer bewerkstelligen. Dazu einfach in den „Container details“ das Konsolenzeichen mit der Beschriftung „Console“ suchen und klicken. Im nächsten Fenster können wir dann mit einem weiteren Klick auf „Connect“ eine Session öffnen. Die Voreinstellungen können wir so übernehmen wie sie sind.
Links und Ressourcen
Im folgenden nun noch ein paar Infos und weiterführende Links zum Thema.
Quellcode und Docker-Image
Wer sich für den Quellcode zum Docker-Image interessiert, der wird in meinem Github-Repo fündig. Das fertige Image wird letztendlich in den Docker Hub gepusht und kann von dort in jegliche Docker-Installation herunter geladen werden.
Allgemeines zu Docker und Synology DiskStation
Allgemeine Infos und Grundlagen zu Docker findet ihr auf docker.com oder auch bei Wikipedia. Wärmstens empfehlen, aber leider nur in Englisch verfügbar, kann ich außerdem die offizielle und sehr umfangreiche Docker-Dokumentation.
Infos zum Docker-Paket für die Synology DiskStation gibt es natürlich auf der Webseite von Synology.
Support
In Sachen Support kann ich nur immer wieder auf den tollen Support im ioBroker-Forum hinweisen. Mittlerweile haben wir auch eine recht starke Docker-Fraktion die sich viel Mühe gibt aufkommende Fragen zuverlässig zu beantworten und bei Bedarf Unterstützung zu geben. Erstes Anlaufziel bei Fragen zum Tutorial sollte für euch mein ioBroker-Forum-Threat sein. Für kurze, einfache Problemchen bietet sich zwar auch die Kommentarfunktion unter diesem Tutorial an. Wenn es dann allerdings um Screenshots und Logfiles geht, sind die Möglichkeiten an dieser Stelle leider sehr begrenzt.
Bleibt mir eigentlich nur noch, euch viel Spaß beim experimentieren mit ioBroker zu wünschen. Für Kritik, Fragen und Anregungen steht euch wie immer die Kommentarfunktion zur Verfügung.
MfG,
André
Änderungshistorie
2019-05-04
Veröffentlichung des neuen Tutorials im Zuge der neuen Image Version 3 – Damit wird das alte Tutorial abgelöst, ist aber weiterhin noch einsehbar.
2019-06-29
Kleinere Anpassungen und Korrekturen. Änderung der Infobox zum „MACVLAN-Synology-Bug“.
2019-08-21
Wegfall der Beschränkungen zur Verwendung des Host-Modus auf der Synology DiskStation nach Anpassungen im Docker-Image.
2019-10-23
Zum bevorstehenden Release der neuen Image Version 4 wurde das komplette Tutorial überarbeitet, neu strukturiert und auf den aktuellen Stand gebracht.
2020-02-18
Kleinere Korrekturen und Anpassung an neues Layout.
2020-10-08
Umzug des Tutorials auf smarthome.buanet.de. Überarbeitung und Verlinkung ausgelagerter Informationen und Mini-Tutorials.
Hallo,
seit Jahren nutze ich mit Deiner guten Anleitung v3 auch als Laie iobroker mit auf meiner Syno 218+ mit Docker und Portainer. Ging alles hoch zuverlässig.
Aber seit heute hängt iobroker: Aufruf zeigt ewig den blauen Kreisel.
Das Terminal gibt immer neu folgende Meldung aus:
——————————–
Received invalid message: {„type“:“Buffer“,“data“:[91,50,93]}
Received invalid message: {„type“:“Buffer“,“data“:[91,50,93]}
TypeError: Cannot read property ‚isValidUTF8‘ of undefined
at /opt/iobroker/node_modules/ws/lib/Receiver.js:532:29
at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
at TLSSocket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
at TLSSocket.emit (events.js:314:20)
at TLSSocket.EventEmitter.emit (domain.js:483:12)
================================== > LOG REDIRECT system.adapter.cloud.0 => false [Process stopped]
================================== > LOG REDIRECT system.adapter.cloud.0 => false [system.adapter.cloud.0.logging]
Received invalid message: {„type“:“Buffer“,“data“:[91,49,93]}
———————————
Usw.
Hast Du eine Idee, an was ich da schrauben muss? Oder geht es nicht unter einer Neuinstallation?
Viele Grüße,
Eckart
Hallo,
jetzt bin ich etwas weitergekommen. iobroker lief, nur der admin Adapter nicht. Den habe ich über das Terminal in Portainer aktualisiert und jetzt schein wieder alles zu laufen. Mal sehen, ob auch stabil.
Grüße, Eckart
Hallo Eckart,
schön dass du es hinbekommen hast. Für Support empfehle ich immer wieder die ioBroker Community. Da bekommt ihr schnell eine Antwort. Hier kan nes mitunter etwas dauern. Sorry.
MfG,
André
Hi Andre,
ich habe keine Synology NAS im Einsatz, sondern ein Raspberry Pi4 mit Portainer.
Deshalb kann ich den Schritt mit dem Verzeichnis aus deiner Anleitung nicht exakt durchführen.
Ich bin wie folgt vorgegangen:
1. Über Putty auf dem Raspberry im Verzeichnis /var/lib/docker/volumes ein neues Verzeichnis angelegt „iobroker_data“
Rechte: drwxr-xr-x
2. Alle Schritte gemäß deiner Anleitung, allerdings mit Network Option „Host“.
3. Den neuen Ordner /var/lib/docker/volumes/iobroker_data bei Volumes „Bind“ eingebunden.
Sobald ich dann den Container deploy und Schritt 1 im LOG fertig ist, wird in dem Ordner eine Datei „core“ angelegt.
Anschließend erscheint in Schritt 2 die LOG Info:
„There is data detected in /opt/iobroker but it looks like it is no instance of ioBroker or a valid backup file!
Please check/ recreate mounted folder or volume and start over.“
Der Container wird automatisch „stopped“.
Hast du eine Idee, was die Ursache sein könnte?
Danke & Grüße
Steven
Hallo Steven,
die Kommentare hier sind leider nicht unbedingt dazu geeignet großartig Support zu leisten… Vielleicht hättest du im ioBroker Forum oder Discord Channel bereits eine Antwort auf deine Frage erhalten…
Wie es die Fehlermeldung sagt, erkennt das Setup Daten in deinem Ordner und stoppt, damit nichts was du ggf. noch brauchen könntest überschrieben wird.
Dein Verzeichnispfad
/var/lib/docker/volumes/iobroker_data
für dein „Bind“ ist eher ungünstig. Das ist ein Verzeichnis das komplett von Docker verwaltet wird.Deine ioBroker Daten würde ich eher in das Home Verzeichnis deines Users legen also z.B.
/home/pi/docker/iobroker_data
. Bitte versuche es mal damit.MfG,
André
Hallo Andre, hallo Zusammen.
Ich habe ein NAS System mit einem Intel Denverton (C3538) und einer Open Media Vault Installation am laufen.
Die Installation läuft auf einer 250GB M.2SSD. Darauf habe ich Docker inkl. Portainer installiert.
Ich habe in meiner OMV Umgebung einen freigegebenen Ordern für iobroker erstellt und bin deiner Anleitung
soweit gefolgt. Jedoch bricht mir die Installation beim abschließenden Start immer ab. Leider kann ich
den Log nicht selber interpretieren, wodurch ich jetzt hoffe, dass du mir den entscheidenden HInweis geben könntest.
Docker selbst funktioniert, da ich als Bsp. meinen Unify-Controller darauf am laufen hab.
Error Log Abschnitt:
Starting ioBroker…
/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:2732
throw new Error(
Installation error or unknown states database type: ${dbType}
);Error: Installation error or unknown states database type:
at statesDbHasServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:2732:15)
at Object.isLocalStatesDbServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:2745:10)
at Object.init (/opt/iobroker/node_modules/iobroker.js-controller/main.js:4511:15)
at Object. (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:8:19)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
Hallo Stefan,
sorry für die verzögerte Antwort/ Freischaltung. Bei solchen Problemen empfehle ich dir das ioBroker Forum oder den ioBroker Discord Channel. Der Logauszug alleine bringt hier leider erst einmal nicht viel. Zur Analyse des Problems ist nämlich vor allem deine Konfiguration entscheidend. Hier passieren die meisten Fehler. Sei es, dass dein in den Container gemountetes Verzeichnis read only ist oder schlicht deine Netzwerkkonfiguration nicht passt…. Es gibt hier viele Fehlerquellen. Um die auszuloten bist du vermutlich im Forum besser aufgehoben. Falls du dort die Lösung findest/ gefunden hast, würde ich mich freuen wenn du dies hier verlinkst.
MfG,
André
Hallo Andre,
ich habe jetzt, dank dieser Anleitung, alles am laufen. Nur kann ich vom iobroker die Synology nicht erreichen oder anpingen. Obwohl ich mit Macvlan eine eigene IP für den iobroker habe. Was muss ich noch machen um die Synology erreichen zu können? Ich habe eine DS920+ und könnte noch ein Netzwerkanschluss belegen, falls dies etwas bringt.
Hallo Andreas,
das ist eine technische Einschränkung bei der Nutzung von MACVLAN. Du kannst von einer IP im MACVLAN die IP des Hosts auf dem das MACVLAN läuft nicht erreichen. Um dies zu lösen gibt es verschiedene Ansätze die ich schon viele Male (z.B. im ioBroker Forum Thread) beschrieben habe. Ich persönlich mache es über ein zusätzliches Bridge Netzwerk welches ich dem ioBroker Container zuweise. Der Host (die DS) ist dann automatisch das Gateway dieses Netzwerks und lässt sich über die entsprechende „interne“ IP ansprechen. Eine weitere Lösung benutzt iptables um eine Route auf dem Host einzurichten. Falls du hier Unterstützung benötigst, melde dich am besten mal im ioBroker Forum Thread oder im ioBroker Discord Channel.
MfG,
André
Hallo ! Gibt es dafür eine Anleitung für Dau´S ? ( Dümmster anzunehmender User) 😉
Hallo,
grundsätzlich ist das eher kein Thema für DAUs, aber dennoch zu schaffen. Eine Schritt für Schritt Anleitung um genau das zu schaffen habe ich nicht gemacht.
Wie man ein Bridge oder MACVLAN Netzwerk anlegt habe ich aber in separaten Tutorials beschrieben. Wie man das Netzwerk im Docker Container auswählt ist meines Wissens auch irgendwo dabei. Sollte also machbar sein.
MfG,
André
Guten Tag,
ich habe nach dieser Anleitung iobroker auf der Synology installiert. Vielen Dank dafür.
Etwas verstehe ich aber nicht. obwohl ich „buanet/iobroker:latest“ verwendet habe, zeigt bei mir die iobroker.admin Version 4.2.2 an.
Ist nicht V5.2 die neuste Version? Habe ich etwas falsch gemacht?
Hallo Andreas,
das hängt immer damit zusammen wann das ioBroker Docker Image erstellt wurde. Kann also schon mal sein, dass nicht die neuste Adapter Installation vorinstalliert ist. Regulär wird das Image einmal die Woche neu generiert. Die Admin Version ist noch sehr neu. Also gut möglich, dass sich das in deinem Fall gerade ein bisschen überschnitten hat.
Mehr zu Updates und Upgrades findest du übrigens hier.
MfG,
André
Guten Tag
Ich habe dein Doker auf meine QNap instaliert. Das hat supfer funktioniert. Jetzt habe ich gesehen das man für ioBrocker eine verbindung zu Singal Messenger aufbauen kann um sich nachrichten zu senden. Leider habe ich nur eine Aleitung für PI gefunden. Da man auf der Consolen Ebene Packete installieren muss. BIn ich als Anfänger gerade etwas überfordert. habt ihr infos oder Tipps
Hallo Sascha,
da bist du hier vermutlich an der falschen Adresse. Soweit ich das sehe gibt es dazu im ioBroker Forum etwas und über einen eigenen Adapter wird wohl auch schon nachgedacht.
Das Ganze im Container zum Laufen zu bringen sollte zwar mit Optionen wie der Umgebungsvariable „PACKAGES“ und der Möglichkeit von „benutzerdefinierten Scripts“ möglich sein, so richtig einfach ist das aber sicherlich nicht. 🙂 Als Anfänger kann ich dir da eigentlich nur den Rat geben auf den Adapter zu hoffen.
MfG,
André
PS: Es ergibt für mich übrigens wenig Sinn so eine Lösung wie im ioBroker Forum beschrieben als „build in“ in den Container zu integrieren. Das ist schlicht die Aufgabe eines Adapters. Sorry, dass ich dir da nicht direkt weiter helfen kann.
Hallo Andre,
Der Container läuft super und der macvlan ist auch eingerichtet.
Jetzt wollte ich gerne den BLE Adapter nutzen und stellte fest, das der Bluetooth Stick kein Device ist, das ich dem Container übergeben kann. Hci Befehle im Container funktionieren auch nicht. Ich bin leider etwas ratlos, wie ich das zum laufen bekommen. Im DSM wird er erkannt.
Kannst du mir einen Tip geben oder kann das nicht funktionieren?
Da er macvlan modus läuft, geht wohl der BLE Adapter garnicht oder?
Grüße
Joachim
Hallo Joachim,
der Bluetooth Stick ist leider kein USB Device, sondern ein Netzwerk Device. Der Zugriff darauf aus dem Container heraus wird in der Regel schwierig, da es eigentlich so nicht vorgesehen ist.
Man könnte zwar den Container im privilegierten Modus ausführen, damit hätte der Container dann vollen Zugriff auf den Host, aber das halte ich aus Sicht der Sicherheit für fahrlässig. Ich würde dies niemandem empfehlen.
MfG,
André
Ich wollte eben das Ganze wie bei dir durcharbeiten – aber bei dem Punkt VOLUMES unter HOST kann ich nichts eintippen – es heisst hier bei mir SELECT VOLUME und ein Pfeil hier kann ich lauter images auswäheln aber ich kann es nicht auf volume1 legen auf ein von mir definiertes Verzeichnis – woran liegt das?
Portainer läuft be mir aber als Bridge – ist das der Grund? vermutlich ja
Wenn ja – wie kann ich das ändern?
Hallo Christian,
wenn du dort nur ein Volume auswählen kannst, dann hast du das hier vermutlich nicht gemacht:
„…und wählen anschließend den Button „Bind“. Im zweiten Feld tragen wir den lokalen Pfad auf der DS ein.“
Deine Netzwerkkonfiguration hat damit auf jeden Fall nichts zu tun.
MfG,
André
Hallo Andrè!
Hat sich erledigt – lag an dem BIND problem wie in der anderen Anleitung von dir aufgeklärt!
Vielen Dank für deine Hilfe!
Hi
ich habe mich die letzten Tage mit dem Thema iobroker auf meiner Synology beschäftigt.
Wie du empfohlen hast, habe ich das ganze auf MACVLAN aufgesetzt und im Prinzip gefällt mir das Setup so sehr gut, dass jeder Docker Container seine eigene IP bekommt, allerdings bin ich nun auf das bekannte Problem gestoßen, dass mit diesem Setup die Kommunikation mit dem Host (der widerum mein DNS Server) ist nicht mehr geht.
Ich habe hierzu diesen Workaround gefunden:
https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/
Bisher habe ich es noch nicht getestet, aber ich wollte mal Fragen, ob du sowas ähnliches schon mal auf einer Synology getestet hast?
Die alternative wäre den iobroker doch im Host Network Mode laufen zu lassen. Hierzu schreibst du das „einzige“ Problem ist der sudo beim Update des js-controllers. Aber muss ich denn überhaupt den js-controller updaten? Würde ich nicht einfach statt eines Updates ein neues Container image ziehen?
Für den Bridge Mode müsste ich auf Multicast verzichten. Hast du zufällig ein paar Beispiele welche Adapter z.b. auf Multicast setzen?
Grüße
Hallo Alex,
wenn du aufgrund des MACVLAN den Host (die DS) nicht erreichen kannst, kannst du das ganz einfach lösen in dem du deinem Container ein zusätzliches Bridge Netzwerk zuweist. In diesem Bridge Netzwerk ist dann deine DS das Gateway und kann darüber angesprochen werden.
Die Variante Host Netzwerk besteht natürlich. Auf den Disk Stations allerdings mit der bekannten sudo-Einschränkung. Dein Plan mit dem „js-controller-nicht-updaten-müssen“ geht allerdings nicht auf. Der JS-Controller ist Teil des ioBroker (in /opt/iobroker installiert) und wird bei einem Update des Containers nicht aktualisiert.
So wie ich das sehe wäre für dich vermutlich die MACVLAN Variante + zusätzliches Bridge Netzwerk die beste Option. Lief bei mir auch jahrelang so bis ich den ioBroker auf einen VM umgezogen habe auf der ich nun ohne Probleme das Host Netzwerk nutzen kann. 🙂
Eine Liste über Adapter die im Bridge Modus nicht funktionieren habe ich nicht. Prinzipiell gibt es aber bei allen Adaptern Probleme die eine Art Discover Funktion nutzen. Für ioBroker würde ich generell den Bridge Modus niemandem empfehlen, oder zumindest nur sehr erfahrenen Usern.
MfG,
André
Danke für die ausführliche Antwort.
Ich habe jetzt erstmal diesen Ansatz getestet:
http://www.stueben.de/iobroker-im-docker-auf-der-synology-diskstation-im-gleichen-subnet/
Soweit ich das bisher getestet habe funktioniert die Variante ganz gut für meine Zwecke.
ip link add mac1 link ovs_bond0 type macvlan mode bridge
ip addr add 192.168.1.239/32 dev mac1
ip link set mac1 up
ip route add 192.168.1.224/28 dev mac1
Ich nutze den Container schon seit einigen Jahren mit Erfolg (danke nochmal!!).
Nun wollte ich den js-controller updaten und muss ja dazu ioBroker stoppen.
Dazu gehe ich über Portainer in die Console (dort bin ich dann direkt als root angemeldet).
Nun stoppe ich laut Anleitung den Container mit „pkill io“.
Leider schließt sich danach die Console in Portainer sofort und der ioBroker Container wird neu gestartet.
Dass heißt, dass Stoppen hat irgendwie funktioniert, es wird aber sofort ein Neustart getriggert.
Ich nutze den Container in der version 4.2.4beta.
Hast Du einen Tip, wie ich das Problem lösen kann?
Danke
Christof
Hallo Christof,
dann killst du mit dem Befehl zu viel. Hast du mal hier gelesen?
Irgendwann hatte ich mal die Art wie ioBroker im Docker Container läuft ändern müssen damit der Container sauber beendet wird.
Teste mal ob du den ioBroker wie im Link beschrieben für das Update stoppen kannst. Falls nicht müssen wir weiter schauen. Am Besten du meldest dich dann im ioBroker Forum oder Discord Channel.
MfG,
André
Hi,
ne, den Link habe ich noch nicht gesehen – danke. Erklärt einiges. Versuche ich am Wochenende.
Und auch danke für den Tip zum Discord-Channel – coole Sache.
Bis dann
Christof
Diesse anleitung ist verstehe ich soweit ganz gu.ein problem gibt es allerdings doch.
Ich möchte gerne das macvlan benutzen. lLeider teilt er mir mit , dass der endpunkt nicht gefunden wird. im bridge modus läuft es.
Ich benutze einen 18er Docker und halte mich strickt an die Anleitung.
leider finde ich den fehler nicht
mfg
Dirk
Hallo Dirk,
ohne deine Konfiguration und weitere Details zu deinem Problem zu kennen (was hast du wie gemacht und wo ist die Fehlermeldung aufgetaucht) wird es schwierig dir zu helfen. Da sich die Kommentare hier nicht so recht für ausführlichen Support eignen würde ich dir empfehlen deine Frage mal im ioBroker Forum Thread zu stellen. Dort können wir dir sicher schnell helfen.
MfG,
André
Hallo,
leider, jedenfalls für mich, ist dieses Tutorial nicht ausführbar, und wohl für viele andere hier auch nicht.
Ich bleibe schon im Portainer beim Erstellen des Iobroker-Containers stecken, schade, etwas zu kompliziert das Ganze.
Hallo Andro,
vielen Dank für dein Feedback. Leider erzählst du nichts konkretes über die Probleme die sich dir in den Weg stellen.
Aus deinen Kommentar „etwas zu kompliziert das Ganze“ kann ich keine möglich Verbesserung ableiten.
Dass das Tutorial „für viele andere hier“ auch zu kompliziert sein soll kann ich nicht nachvollziehen. Worauf beziehst du dich?
Falls du Hilfe benötigst, wende dich gerne an die ioBroker Community.
MfG,
André
Hallo, danke für deine Arbeit hier zunächst. Ich habe jedoch ein Problem und hoffe du kannst mir helfen. Ich habe im Prinzip alles so, denke ich, so gemacht wie du es hier zeigst. Habe das ganze natürlich nicht auf einem Synology sondern auf meinem PC installiert. Aber leider erhalte ich beim Starten immer den Fehler „healthy“
im Log finde ich dann folgendes:
Hast du vielleicht eine Lösung
Starting ioBroker…
host.iobroker check instance „system.adapter.admin.0“ for host „iobroker“
host.iobroker check instance „system.adapter.discovery.0“ for host „iobroker“
host.iobroker check instance „system.adapter.info.0“ for host „iobroker“
ls: Zugriff auf ‚/dev/disk/by-id/‘ nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf ‚/dev/disk/by-id/‘ nicht möglich: Datei oder Verzeichnis nicht gefunden
Hallo Ingo,
„healthy“ ist doch kein Fehler. 🙂 Wenn der Container dir sagt, dass er healthy (engl. für „gesund“) ist, dann ist das gut und so beabsichtigt. Im Container gibt es eine Routine die checkt ob der js-controller (der wichtigste ioBroker Dienst) läuft. Wenn er dies tut melded der Container „healthy“ wenn es ein Problem gibt „unhealthy“. Details zum „Health-Check“ findest du auch in der Docker Doku.
Was deinen Fehler im Log angeht, der hat keine Auswirkungen. Ist lediglich ein bekannter Bug im Info-Adapter. Siehe dazu auch hier und die dort verlinkten Seiten.
MfG,
André
Oh mann sorry vielmals.ich deppert.
Auch von mir ein herzliches Dankeschön an die Macher der Hausautomation IOBroker und im Speziellen an André für den iobroker-Docker-Container.
Bevor ich mich an den iobroker-Docker-Container rangetraut habe, lief bei mir der iobroker auf der DS218+ in einer Windows10 VM, auf der die Windows-Version von IOBroker lief und mich schier zur Verzweiflung brachte. Wenn man nur eine winzige Änderung im VIS, Flot oder im iobroker selbst machen wollte, konnte man zwischendurch Kaffee trinken gehen. Die CPU lief dann immer bei fast 99%, oft für Minuten bis man eine weitere Änderung machen konnte. Auch ohne geöffneten VIS-Editor war die CPU der DS immer bei gut 60%. Da ich mich nicht länger ärgern wollte, installierte ich auf der DS218+ parallel zur VMM den iobroker-Docker-Container von André. Um es kurz zu machen, die Umstellung auf den iobroker-Docker-Container incl. des Restores der iobroker Konfiguration lief problemlos und nach ein paar Anpassungen bzgl. des Netzwerks und der Bereinigung einiger IP-Adressen konnte ich die VMM mit der alten Konfiguration löschen.
Fazit: Meine DS218+ langweilt sich nun bei einer CPU-Auslastung zwischen 20 und 25 % incl. zwei Surveillance-Cams und Anbindung des iobroker an die Maria10 DB der Synology. Das Editieren unter VIS, FLOT oder iobroker ist eine wahre Freude und die Responsezeiten bei Änderungen sind fast nicht wahrnehmbar. Ich kann nur jedem, der den Einstieg in die iobroker Welt unter Benutzung eine Synology Diskstation plant empfehlen, sofort den iobroker-Docker-Container zu benutzen und nicht den Umweg über die VMM mit Windows.
Viele Grüße
Thomas
Hallo Thomas,
vielen Dank für dein Feedback und dafür, dass du deine Erfahrungen mit der Community teilst. 🙂
MfG,
André
Hallo André,
vielen Dank für Dein tolles Tutorial bzw. den iobroker-Docker-Container, welcher bei mir seit einigen Jahren sehr stabil auf meiner DS218+ läuft. Ich habe nach Deiner Anleitung schon problemlos mehrere Neuinstallationen von Containern mit einem backup-Archiv gemacht. Dies funktioniert seit neuestem bei mir leider nicht mehr. Im Log läuft alles ohne Fehlermeldungen bis „Step 5 of 5: ioBroker startup“ durch und nach „Starting ioBroker…,“ kommen die ganzen „check instance“ mit letzter Zeile „host.Iobroker_v5 check instance „system.adapter.web.0“ for host „iobroker_v5neu“,“ und dann tut sich nichts mehr (mehrfach auch über Nacht probiert), auf den iobroker kann man unter [IP]:8081 nicht zugreifen (IP über macvlan zugewiesen, Zustand des Containers „healthy“). Liegt es evtl. an dem JS-controller 3.2.x, zumindest wurden auch an anderer Stelle (https://forums.unraid.net/topic/101016-support-buanet-iobroker/) hier Probleme berichtet. Sonst eine Idee?
Herzlichen Dank und Gruß
Florian
Hallo Florian,
dahingehend habe ich noch nichts aus der Community vernommen. Wäre mir neu, dass es da Probleme mit dem neuen js-controller gibt.
Vielleicht wäre das ein Thema für den ioBroker Forum Thread.
Würde mich mal interessieren ob es da noch weitere Erfahrungen in die Richtung gibt. Ohne aussagekräftiges Log (nicht immer gibt es bei Problemen auch Fehlermeldungen) und Infos zu deinem Setup wäre jede Antwort allerdings nur Spekulation.
MfG,
André
Vielen Dank André für deine rasche Antwort! Ich konnte das Problem zwischenzeitlich lösen. Problem war, dass sämtliche Instanzen nicht gestartet wurden („does not start any instances on this host“ stand im logfile…). Ursache hierfür, dass ich im macvlan einen anderen Hostnamen für den neuen Container verwendet habe als in der letzten Installation (des backup-files). Soweit ich das jetzt verstanden habe werden Instanzen (auch admin) einem Host zugeordnet. Wenn der Hostname geändert wurde, glaubt ioBroker wohl, dass er die Instanz nicht starten muss, weil diese zu einem anderen Host gehört. Gelöst habe ich das Problem mit Stoppen von iobroker in der Console (Portainer) mit „pkill -u iobroker“ und anschließend ein „iobroker host this“ womit den Instanzen der neue Hostname zugeordnet wird. Mit Neustart des Containers lief die Installation bzw. der Restore des backup files dann durch… VG Florian
Hallo Florian,
das ist seltsam. Eigentlich sollten solche Namensänderungen vom Startscript abgefangen und korrigiert werden. Offenbar ist dein Konstellation dann da irgendwie durch gerutscht. Würde mich mal interessieren wie die genauen Umstände waren. Falls du den genauen Ablauf noch zusammen bekommst und vielleicht noch ein Logfile hast, würde ich mich freuen wenn du einen Issue auf Github eröffnest. Dann würde ich mal versuchen das nachzuvollziehen und das Startscript entsprechend optimieren.
MfG,
André
Hallo zusammen,
Nach mehreren Installations- u. Löschaktionen wird mir im ioBroker die Container id anstatt des Namens angezeigt.
Gibt es einen Befehl, dass anstelle der Container id der Container Name von ioBroker gezogen wird?
Grüße Mark
Hallo Mark,
den Container Namen gibst du beim Erstellen selbst vor. Mit Befehl ist da nichts, und nachträglich ändern auch nicht.
Leider weiß ich aber auch nicht so genau was du mit Container ID meinst und wo genau dir diese angezeigt wird…
MfG,
André
Vielen Dank für das super Tutorial. Das hat mir sehr geholfen und es funktioniert auch. Eine Frage habe ich allerdings bezüglich dem Netzwerk. Das scheint doch etwas weitreichende Auswirkungen haben als ich zu Beginn dachte. Ich habe mich für den Bridge Modus entschieden wie gesagt bis anhin ohne Probleme wenn man die Ports der einzelnen Adapter immer wieder weiterleitet. Den Sonos Adapter krieg ich aber nicht zum laufen und ich vermute das liegt daran dass der nicht im Bridge Modus funktioniert sondern nur im Host. Kannst Du das bestätigen? Hast Du hier einen Workaround? Kann ich ein bestehendes Image vom Bridge in den Host Mode bringen?
Danke für Deine Hilfe.
Gruss Oli
Hallo Oli,
leider kenne ich den Sonos Adapter nicht. Wenn dieser aber in irgendeiner Form z.B. mit Multicast Paketen arbeitet (meist wird das für „discovery services“ verwendet), dann wird das im Bridge Netzwerk nicht funktionieren. Das liegt einfach daran, dass im Bridge Modus nur die Pakete den Container erreichen die über die freigegebenen Ports laufen. Alle anderen Pakete landen beim Host.
Für solche Funktionalitäten benötigst du dann entweder den Netzwerkmodus „Host“ oder ein MACVLAN.
MfG,
André
Danke für Dein Feedback. Du schreibst, dass es beim Host Modus den Nachteil gibt, dass kein sudo funktioniert. Ist dieses Problem beim MACVLAN gelöst? Da ich mein System was js controller und nodejs anbelangt immer auf dem stable stand halte brauche ich ein update fähiges system.
Das Sudo-Problem existiert nur im Host Modus und soweit ich weiß auch nur bei Synology DiskStations mit DSM 6.
MfG,
André
Hi,
ich nutze den Container nun schon seit ein paar Jahren sehr erfolgreich.
Jetzt möchte ich von außen drauf reagieren, wenn der Container startet.
Dazu nutze ich das Startup Skript und schreibe eine Datei in das tmp Verzeichnis des Containers, da ich dachte, dass dieses Verzeichnis bei Containerstart gelöscht wird (wie auf der Synology auch).
Nun habe ich heute mal in das tmp Verzeichnis geschaut und sehe dort alte Dateien, obwohl mein Container zwecks Backup gestern neu gestartet wurde.
Ist das so normal?
Danke
Christof
Hallo Christof,
da bist du einem Irrtum aufgesessen. Wenn du einen Container stoppst und wieder startest wird nichts zurück gesetzt. Das ist praktisch als ob du deinen PC neu startest. Wüsste auch nicht dass es generell unter Linux eine Option gibt die das tmp Verzeichnis beim Neustart leert… Oder hast du da andere Details für mich?
Generell werden die Verzeichnisse im Container nur dann zurück gesetzt, wenn du den Container neu erstellst (z.B. recreate, oder löschen und neu einrichten). Das ist ja auch der Grund warum du den /opt/iobroker Ordner auf den Docker Host auslagern solltest.
Kurzum, um deine Frage zu beantworten: Ja, das ist normal (soweit ich das richtig verstehe). 🙂
MfG,
André
Hi,
ich dachte bisher, tmp wird vom Betriebssystem aufgeräumt. Es gibt implementierungen, da liegt tmp sogar in einer RAM-DIsk.
Anscheinend ist es hier nicht der Fall.
Bisher dachte ich, dass eben alle Linux Systeme so konfiguriert sind – man lernt täglich etwas dazu 😉
Danke
Christof
Super Anleitung, bevor ich starte habe ich noch eine Frage, bzgl. Doppelbelegung von Ports, bin noch Anfänger im Bereich Synology u. Docker, denke aber ich bekomme es hin 😉
Der Port 8081 ist sowohl als Container u. lokaler Port für einen Unifi Controller belegt.
Wie kann bzw. muss ich die Ports für ioBroker umleiten damit alles problemlos läuft?
Hallo Mark,
es gibt die Möglichkeit den ioBroker Admin Port beim Start im ioBroker zu ändern. Dazu habe ich die Umgebungsvariable „IOB_ADMINPORT“ zur Verfügung gestellt.
Wenn du den ioBroker im Bridge mode verwendest, kannst du den Port auch ganz einfach beim erstellen des Containers von 8081 (im Container) auf z.B. 8091 (des Hosts) umleiten.
MfG,
André
Nach der erfolgreichen Einrichtung der Netzwerkkonfig über dein MACVLAN-Tutorial hab ich jetzt auch endlich Zeit gefunden das ganze mit dem ioBroker-Container zu machen. Natürlich auch wieder anhand deines Tutorials (mit leichten Anpassungen für Netzwer, Name, etc.) ….
Uuuuuuund siehe da:
Chakka, es funktioniert auch auf einem ASUSTOR NAS (AS1004Tv2) mit ADM 3.5 und sowohl meine Shellys, als auch Tasmota Geräte können eingebunden werden 🙂 Jetzt heißt es nur noch ioBroker so anpassen wie ich brauche.
Hallo Felix,
danke für dein Feedback. Freut mich dass es geklappt hat.
MfG,
André
hallo André, ich habe mein Problem schon im ioBroker Forum gepostet, weiß nicht ob du da mitließ . ich kann die Admin Adapter nicht updaten und bekomme mit deiner neusten „Version“ beim manuellen Versuch folgende Meldung:
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {„os“:“darwin“,“arch“:“any“} (current: {„os“:“linux“,“arch“:“x64″})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.7 (node_modules/iobroker.info/node_modules/osx-temperature-sensor):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {„os“:“darwin“,“arch“:“any“} (current: {„os“:“linux“,“arch“:“x64″})
npm WARN ajv-keywords@2.1.1 requires a peer of ajv@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm ERR! code EEXIST
npm ERR! path /opt/iobroker/node_modules/iobroker.admin/node_modules/.bin/semver
npm ERR! Refusing to delete /opt/iobroker/node_modules/iobroker.admin/node_modules/.bin/semver: is outside /opt/iobroker/node_modules/iobroker.admin/node_modules/semver and not a link
npm ERR! File exists: /opt/iobroker/node_modules/iobroker.admin/node_modules/.bin/semver
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with –force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-11-22T20_04_11_830Z-debug.log
root@iobroker:/opt/iobroker#
Kannst du damit etwas anfangen ? Super vielen Dank
Link zum Forum: https://forum.iobroker.net/topic/38920/admin-adapter-lässt-sich-nicht-updaten
Hallo Sven,
danke für den Hinweis. Hab’s mir im Forum angeschaut. Denke wir machen da weiter…
MfG,
André
Vielen Dank. Hat wunderbar funktioniert! Hoffe es kommen bald noch weitere interessante Tutorials dazu.
Hi Andre,
zuerst einmal Danke für das tolle Tutorial!
Dies hat mir super weitergeholfen!
Ich betreibe damit meine ioBroker-instanz nun wirklich schon mehrere Jahre sehr stabil – super 🙂
DANKE dafür!
Einzig, was mir durch das zweite Netz fehlt, ist der Rückgriff von ioBroker auf Instanzen in meinem eigentlichen Netzwerk.
Gerade für den Zugriff auf Datenbanken und Grafana.
Hier gibt es m.M.n. zwei Varianten:
A.) Ich installiere zusätzlich eine Datenbanken und zusätzlich Grafana auch über Portainer in dem anderen Netzwerkbereich – das finde ich unglücklich, weil ich doppelte Ressourcen verbrauche.
Mein Hauptproblem wäre aber auch, dass bei Neustarts die IPs immer neu vergeben werden.
Diese müsste ich dann manuell immer im ioBroker wieder „gerade“ ziehen.
Das ist nicht elegant – vielleicht hast Du einen Tipp, wie man die IPs mit Portainer statisch vergeben kann?
B.) Man kann anscheinend eine „Bridge“ einrichten??
Zumindest verstehe ich dies aus dem folgenden Blogeintrag so:
http://www.stueben.de/iobroker-im-docker-auf-der-synology-diskstation-im-gleichen-subnet/
Dies wäre je ggf. auch für andere Nutzer von Interesse?
Hier fehlt mir aber die Lösung über den Portainer – zumal ich in den Kommentaren gelesen hatte, dass dies über den Portainer ggf. nicht geht?
Vielleicht hast Du hier einen Tipp oder das Problem gar schon anders gelöst?
Die Lösung über die Kommandozeile mit Startskript schreckt mich leider noch etwas ab.
Viele Grüße
Marc
Hallo,
gibt es irgendwo eine Anleitung wie ich iobroker auf Synology auf https umstelle? Vor allem mit Let’s encrypt komme ich einfach nicht weiter, da meine Synology selbst ja schon mit Let’s encrypt läuft. Ich müsste theoretisch nur das Zertifikat weiterreichen…
Danke im Voraus
Hallo,
eine Anleitung habe ich nicht, aber hast du mal versucht das Zertifikat aus der DS zu exportieren und in ioBroker abzulegen?
Aber mal ganz davon ab, rufst du deine DS und deinen ioBroker lokal über eine Internet Domain auf? Würde mich mal interessieren wie du das ganze dann trennst, oder machst du die Namensauflösung per lokalem DNS???
Ich hätte da eine andere Idee. Deine DS ist auch eine Zertifizierungsstelle. Du kannst dir einfach selbst ein Zertifikat. z.B. auf den Namen „ds.fritz.box“ ausstellen und im ioBroker einbinden. Dann musst du nur noch deinem Browser sagen, dass er deine Zertifizierungsstelle vertrauen soll und schon läuft es alles lokal mit gültigem Zertifikat.
Habe dazu auch einen Tutorial Entwurf hier liegen, aber aufgrund des laufenden Umbaus meiner Seite ist das in der Priorität ziemlich nach hinten gerutscht.
MfG,
André
iobroker sudo rights
Ich nutze – danke dieser tollen Tutorials hier – seit ca. einem Jahr iobroker mit Docker (buanet).
Funktioniert bisher alles super.
Seit Tagen versuche ich nun aber den radar2 Adapter im iobroker zu installieren. Der bleibt rot.
Manuell kann ich den Adapter in der Konsole starten (wenn ich als user root die Konsole öffne).
Versuche ich es in der Konsole mit User iobroker oder direkt im iobroker, kommt im Log „User iobroker has no sudo rights“.
Wie kann man das lösen? Im iobroker Forum konnte mir niemand helfen und da habe ich auch keine Lösung gefunden.
Hi Andrè,
so, erst mal Sorry, dass ich Dich beim letzten mal falsch angeredet habe. Mea culpa.
Irgendwie ist mir das jetzt echt peinlich…es fehlt einfach die Möglichkeit falsche, eigene Posts wieder zu löschen. 😉
Das Problem der nicht Erreichbarkeit besteht nach wie vor und ich denke, dass er beim starten irgendwo hängen bleibt und das script nicht sauber durchfährt.
Nach den Logs hängt er hier
…
host.Iobroker check instance „system.adapter.info.0“ for host „IOBroker“
host.Iobroker check instance „system.adapter.node-red.0“ for host „IOBroker“
host.Iobroker check instance „system.adapter.iot.0“ for host „IOBroker“
und dann ist schluss. Ich hab das Startscript auch mal direkt aus der Konsole getriggert und er kommt hier genauso weit. Den Container habe ich inzwischen schon x mal neu aufgesetzt aber immer das gleich Ergebnis. Ich hatte in letzter Zeit Berechtigungsthemen in meinen Containern weshalb ich das Verzeichnis mal mit chmod 777 gesetzt habe, hat aber auch nix gebracht.
Danke.
Michel
Hallo zusammen,
ich hatte ein vergleichbares Problem und habe seit gestern herum probiert. Ich bin dann im Thread zum Buanet Docker-Container im ioBroker Forum auf einen Hinweis gestoßen, dass es anscheinend im Startscript ein Berechtigungsproblem mit den Dateien im ioBroker-Daten Verzeichnis außerhalb des Docker Containers gibt.
Was mir dann geholfen hat war:
1. Container entfernen (Stoppen hätte vermutlich gereicht)
2. Lokales Verzeichnis unter /volume1/docker/iobroker_data in der Filestation leeren
3. Neuen Container anlegen (ggf. gestoppten Container starten)
Nachdem das Startscript einmalig korrekt durchgelaufen war, gab es keinerlei Probleme mehr mit Berechtigungen o.ä.. Ich habe mehrere Container angelegt (die natürlich nicht gleichzeitig laufen) um verschiedene Netzwerkoptionen (Bridge, Host) zu testen. Alles kein Problem mehr.
Hab genau das gleiche Problem… leider hilft bisher nicht was im Forum oder hier steht:
Starting ioBroker…
host.iobroker check instance „system.adapter.admin.0“ for host „iobroker“
host.iobroker check instance „system.adapter.discovery.0“ for host „iobroker“
host.iobroker check instance „system.adapter.info.0“ for host „iobroker“
Hat das Problem jemand gelöst?
Danke & Grüße
Mark
Hallo Mark,
es ist schwierig hier mit so wenig Informationen zu unterstützen. Meine Empfehlung: Melde dich im ioBroker Forum Thread zu Wort. Am besten mit ein paar Details zu deinem Setup und dem kompletten Log vom Container Start.
MfG,
André
Hi Sven,
ich nochmal. Vergiss bitten letzten Post von mir. Ich war nach einen Tag Netzwerk neu aufsetzen einfach zu blöde um Deine tolle Anleitung richtig zu verstehen.
Dafür habe ich ein anderes Problem, ich kann die Web GUI des Broker nicht erreichen, es kommt immer Verbindung abgelehnt. Die IP (MACVLAN, nach Deiner coolen Anleitung) kann ich allerdings anpingen, weshalb ich davon ausgehe, dass zumindest das Netzwerk richtig funktioniert.
Dank und Gruß
Michel
Hallo Michael,
da kann ich so nichts zu sagen. Poste doch mal dein Log aus dem Container im ioBroker Forum Thread. Die Kommentare hier eignen sich nicht so richtig gut dazu…
MfG,
André
Hi,
erst mal Danke für die tolle Anleitung.
Ich bin auf ein kleines Problem gestoßen. Ich war gezwungen den Container neu aufzusetzen aber sobald es an das mounten des Verzeichnisses geht habe ich jetzt nur noch ein Dropdown menu und kann nichts mehr mit der Hand eingeben. Da steht auf Volume statt Host.
Kannst Du mir da evtl. weiterhelfen.
Hi,
deine Tutorials sind wirklich gut geschrieben. Habe mittlerweile den ioBroker auf der Synology und den Zigbee Stick am laufen.
Allerdings startet bei mir VIS nicht. Gibt es da noch Besonderheiten, die freigeschaltet werden müssen?
Ports im Container gemappt: 8081, 8082, 9000, 9001
Volume /opt/iobroker ist auf der NAS vorhanden und im Container gemappt
VIS-Lizenz ist ok.
Hast du noch eine Idee woran es liegen kann?
Hallo Sven,
was bedeutet, dass vis nicht startet? Besonderheiten sind mir nicht bekannt. Es kann hier aber viele Ursachen geben. Da benötige ich schon ein bisschen mehr Infos.
MfG,
André
Hallo Andre,
Installation ist auf deiner DS718+ per Docker (nach deinem Tutorial)
Image: buanet/iobroker:latest
Ports: alle Standard bis auf das Adminpanel
32790:32790 — admin
8082:8082
8091:8091
8284:8284
9000:9000
9001:9001
Volume: /volume1/docker/iobroker_data /opt/iobroker
Network: bridge
Adapter: vis
Instanz vis.0
Config LizenzKEy über ioBroker.net = ok – wie im Adapter beschrieben
Adapter: web
Instanz web.0
Config: alle IP zulassen : 8082
socket.io: integriert
Zigbee-Stick integriert
Aufruf Webserver NAS-IP:8082 erhalte ich das Dashboard
Adminkonsole läuft
iqControl Visualiserung lässt sich ebenfalls aufrufen (probeweise mal installiert)
Fehler: Beim Aufruf NAS-IP:8082/vis/edit.html (oder auch index.html) bleibt der Ladebalken stehen und als Text sieht man
Connection to server…
loading values…
Auszug Log beim Start von vis
[EDIT] Log entfernt!
Restart des Containers, Recreate und nochmal gnaz neu erstellt hilft leider nix.
Ich hoffe, ich habe alle wichtigen Infos drin 🙂
Vielen Dank für deine Mühe
Sven
Hallo Sven,
leider eignen sich die Kommentare hier nicht für das Posten von Konfigurationen, Logs oder Code. Habe daher deinen Post ein wenig gekürzt.
Auf den ersten Blick wüsste ich nicht was da schief laufen sollte. Allerdings habe ich auch noch nie vis in einem Container mit Bridge Netzwerk gehabt. Kannst du deine Infos im ioBroker Forum Thread posten? Eventuell sind da User unterwegs die vis über Bridge Netzwerk laufen haben. Mag sein, dass da noch ein Port fehlt(?) oder vielleicht die Konfiguration (z.B. IP binding) im web-Adapter? Kann es leider auch gerade nicht in meiner Entwicklungsumgebung testen. Das wird erst frühestens nächste Woche was…
Hatte hier übrigens gerade etwas Ähnliches (oder warst du das?): https://github.com/buanet/docker-iobroker/issues/135
Leider wurde das ohne Lösung geschlossen…
MfG,
André
Hallo Andre,
Das ist ok.
Nein, auf Github war ich nicht. Allerdings sieht es nach meinem Problem aus.
Die Lösung würde mich sehr interessieren.
MfG,
Sven
Hallo,
ich habe das Problem, dass ich nicht auf die Admin Seite des iobroker komme. Woran könnte es liegen? Ich bin ganz nach Anleitung vorgegangen… Der Start hängt an der unten ersichtlichen Stelle des Logs.
Anbei meine Log:
[EDIT] Log entfernt!
Hallo Patrick,
bitte hier keine Logs posten. Dazu sind die Kommentare einfach nicht geeignet.
Soweit ich das überblicken kann ist dein Log soweit sauber und ioBroker gestartet. Das Problem muss woanders liegen. Hast du dein Problem samt Log und Container Konfiguration (vorallem Netzwerk) mal im ioBroker Forum vorgetragen? Ich denke da kann dir am Besten geholfen werden.
MfG,
André
Ein wirklich super dokumentiertes Tuturial auch für Anfänger in der Thematik.
Die Installation läuft bei mir bereits seit fast 1 Jahr auf der DS. Seit einiger Zeit möchte die DS, das ich das Docker-Paktet aktualisiere. Gibt es hierbei etwas zu beachten (außer die vorher üblichen Backups)? Portainer stoppen, ioBroker stoppen oder ähnliches?
Vielen Dank
Torsten
Hallo Torsten,
danke fürs Feedback. Was die Aktualisierung des Docker Pakets angeht habe ich da bisher keine Probleme gehabt, genauso wie DS Updates.
Im Normalfall ist das für den ioBroker das Selbe wie ein Neustart der DS. Wenn du auf Nummer sicher gehen willst, beende den ioBroker Container vorher und starte ihn nach dem Update manuell…
MfG,
André
Vielen Dank für diese wunderbare Anleitung. Es hat alles geklappt, und die Arbeit mit ioBroker beginnt jetzt.
Viele Grüße
PC100-Fan
Hallo,
ioBroker läuft bei mit auf einer Syno DS218+, installiert genau wie hier beschrieben.
Aber: der ioBroker-Synology-Adapter (aktuelle Version 0.1.18) zeigt immer nur Status „gelb“ an. Das Debug-Log verrät, dass der Adapter den Port (5000 oder 5001) des Syno nicht findet. Wenn ich in den Container-Einstellungen diese Port eintragen will (lokaler Port 5000 Container Port 5000 / tcp) wird das verweigert. Wie kriege ich den Zugang unter MACVLAN hin? Weiß das jemand?
Viele Grüße,
EckartS
Hallo Eckart,
das liegt daran, dass du in deiner Konstellation aus dem Container heraus den Host (deine DS) nicht direkt erreichen kannst. Eine Möglichkeit wäre dem Container zusätzlich zum MACVLAN ein Bridge Netzwerk zuzuweisen. Im Bridge Netzwerk ist dann der Host das Gateway. Über die Gateway-Adresse kannst du dann den Host intern ansprechen. Mehr Details findest du auch im Forum Threat. Da hatten wir das Thema schon mehrfach. Einfach mal im Thema suchen. Viel Erfolg.
MfG,
André
Mit Hilfe der Experten des ioBroker Forums habe ich jetzt herausgefunden:
* Mit MACVLAN kann ioBroker im Docker-Container die Host Syno aus Sicherheitsgründen grundsätzlich nicht erreichen
* Das lässt sich auf Synos mit 2 LAN-Ports umgehen
* Auf einer – meiner – Syno mit nur einem LAN-Port mit Gebastel wohl auch, aber die Lösungen übersteigen meine Fähigkeiten und bergen womöglich auch Risiken, die ich nicht abschätzen kann.
Fazit: ich lasse es bleiben. Kein Syno-Adapter in meiner ioBroker-Installation.
Es sei denn, es findet sich hier jemand, der das zuwege gebracht hat und versichert, dass es stabil und ohne Nebenwirkungen läuft.
Viele Grüße,
EckartS
Hallo André,
deine Antwort habe ich erst gelesen, nachdem ich aufgegeben hatte. Bevor ich mir jetzt die Installation zerschieße, will ich lieber nochmal fragen, ob ich nach der Anleitung in http://www.stueben.de/iobroker-im-docker-auf-der-synology-diskstation-im-gleichen-subnet/
zum Ziel komme.
Das heißt:
* Mit SSH auf der NAS als root anmelden und folgende Befehle ausführen:
* Virtuelles Netzwerk Device mac1 anlegen (mein Adressraum für Syno und ioBroker ist 192.168.10.x)
_ ip link add mac1 link eth0 type macvlan mode bridge
_ ip addr add 192.168.10.80/32 dev mac1
_ ip link set mac1 up
_ ip route add 192.168.10.80/28 dev mac1
* Aus dem Docker Container sollte die NAS danach über die zusätzliche IP Adresse 192.168.10.80 zu erreichen sein
* Weil das flüchtig ist: sh Skript erstellen, das beim NAS-Start den Synology Aufgabenplaner ausgeführt wird
Könnte das so gehen?
Grüße, Eckart
Hallo Eckart,
warum so kompliziert? Wenn du dir deinen Container in Portainer anschaust, dann gibt es ganz unten den Punkt „Join a network“. Wähle dort bridge und füge das Netzwerk hinzu. Danach hängt der Container in zwei Netzwerken (MACVLAN nach extern, und Bridge intern). In dem internen Netz hat deine DiskStation die Gateway-Adresse. Im falle des default bridge netzwerks ist das die 172.17.0.1. Wenn du im Adapter deine DS über diese Adresse ansprichst, dann sollte es mit der Verbindung klappen… Andernfalls melde dich nochmal im ioBroker Forum Threat (https://forum.iobroker.net/topic/4733/howto-anleitung-installation-iobroker-in-docker-auf-synology-diskstation/). Da kann man dann auch mal einen Screenshot posten…
MfG,
André
Perfekt. Das war es und jetzt funktioniert es. Besten Dank.
Ich habe ein eigenartiges Verhalten festgestellt:
Ich hatte über Portainer das aktuelle ioBroker image (buanet/iobroker:latest) genutzt, um einen Container zu kreieren und zu starten. Danach habe ich meine komplette Konfiguration vom Raspberry Pi in das Volume des Docker Containers gepackt und alle Aktualisierungen durchgeführt.
Es lief jetzt für 3 Tage alles stabil und seit ich gestern Abend den Host nach einem Ubuntu Update neu starten musste, läuft der ioBroker zwar noch, aber es sind plötzlich keine Ports mehr freigegeben und so komme ich weder an das Web Frontend noch an den MQTT Broker…
Nachdem ich mir nicht mehr zu helfen wusste, habe ich den Container gestoppt und einen Neuen unter anderem Namen angelegt und nochmal explizit darauf geachtet, dass alle Ports freigegeben sind. Container gestartet, ioBroker läuft und wieder sind keine Ports freigegeben. 🙁
Jetzt frage ich mich, ob irgendetwas am Docker oder am Portainer Container verbogen sein könnte. Aber ich habe keine Idee, wie ich den Fehler eingrenzen könnte.
Hallo,
hört sich für mich im ersten Moment nach einem Problem mit Docker an. Leider schreibst du nicht dazu welchen Netzwerkmodus du verwendest. Bridge, Host oder MACVLAN? Ich würde jetzt mal Bridge annehmen, denn bei den anderen beiden Varianten brauchst du ja keine Ports durch reichen… Wie hast du denn geprüft ob die Ports freigegeben werden? Eventuell macht es Sinn dein Problem mal im ioBroker Forum Thread zu schildern und das Log vom Container an zu hängen. Dann könnte ich mal prüfen ob im Container wirklich alles ok ist. Ansonsten hilft wohl nur Google…
MfG,
André
Hallo zusammen,
danke @andré für die tolle Anleitung. Es hat 1zu1 alles wunderbar geklappt. Außer meine Yahka Instanz – sie ist zwar grün aber APple findet kein yahka.
Avahi habe ich als Umgebungsvariable in Portainer auf true gestellt, aber Homekit zeigt mir auch dann nichts an…
Hat jemenad von Euch eine Lösung?
Hallo,
meines Wissens liegt es am Netzwerk des Containers und der Verwendung von Multicast beim Homekit. Hast du mal im ioBroker Forum Thread gesucht. Da wurde das schon mal besprochen. Bin mir aber nicht mehr sicher was da geht, und was nicht. Ich selbst benutze es nicht und kann dazu herzlich wenig sagen.
MfG,
André
hallo Andre, Danke für den Tipp an Pattrick, Ich war auch schon lange den Fehler am suchen …
Mit der Beta klappt es!! (Raspi 4B, 4G, 128G SSD)
Liebe Grüße
Willi
Hallo André, ich bin in das gleiche Problem gelaufen, das Patrick im vorherigen Kommentar hatte. Daher bin ich deiner Empfehlung gefolgt und habe das beta Image verwendet. Nun läuft der Start schon etwas weiter aber ich laufe in ein nächstes Problem:
In den Stats sieht es soweit gut aus:
root 10609 10592 0 23:11 ? 00:00:00 /bin/bash /opt/scripts/iobroker_startup.sh
1000 11368 10609 0 23:11 ? 00:00:07 iobroker.js-controller
1000 11413 11368 0 23:11 ? 00:00:03 io.admin.0
1000 11463 11368 0 23:11 ? 00:00:02 io.discovery.0
1000 11505 11368 0 23:11 ? 00:00:03 io.info.0
root 15092 10592 0 23:17 pts/0 00:00:00 bash
Aber im Log:
—– Step 5 of 5: ioBroker startup —–
[..]
host.dfbc8d3098bc check instance „system.adapter.info.0“ for host „dfbc8d3098bc“
Send diag info: {„uuid“:“7abd3182-d399-f7bd-da19-9550d8babede“,“language“:““,“country“:““,“hosts“:[{„version“:“3.1.5″,“platform“:“Javascript/Node.js“,“type“:“linux“}],“node“:“v12.18.1″,“arch“:“x64″,“adapters“:{„admin“:{„version“:“4.0.10″,“platform“:“Javascript/Node.js“},“discovery“:{„version“:“2.3.5″,“platform“:“Javascript/Node.js“},“info“:{„version“:“1.7.2″,“platform“:“Javascript/Node.js“}},“statesType“:“file“,“objectsType“:“file“,“model“:“Intel(R) Celeron(R) CPU J3455 @ 1.50GHz“,“cpus“:4,“mem“:8181518336,“ostype“:“Linux“,“city“:““}
hash changed or no sources cached => force download of new sources
MfG
Hallo Marcus,
ich sehe da keine Problem. Der Auszug zeigt einen ganz normalen Start, und offenbar läuft dein ioBroker ja auch…
MfG,
André
Hallo Andre,
Du hast recht, es sieht alles gut aus. Ich habe auch nach meiner Nachricht gemerkt, dass ich während meiner Tests kurz versucht hatte die Admin Seite per https aufzurufen, und das habe ich nach dem ich auf das Beta Image gewechselt hatte weiter versucht.
Danke für dein Feedback & viele Grüße
Marcus
Hallo
ich habe nach der Anleitung iobroker auf der Synology DS216+II installiert. Zuerst hatte ich das Problem das ich die Admin Seite nicht aufrufen konnte. Dann habe ich die Frage von Patrick Zürndorf gelesen und habe so wie du in deiner Antwort darauf geschrieben hast, die Beta Version installiert. Damit kann ich alles aufrufen und bedienen.
Es gibt aber noch ein Problem, und zwar wenn ich den IOBroker stoppen möchte um z.B. ein Update des JS Controllers zu machen.
Wenn ich in der Console mit dem Befehl iobroker stop eingebe, zeigt mir die Antwort an, das kein daemon läuft. die Statusabfrage sagt aber das iobroker läuft.
Wie kann ich also den IOBroker stoppen? Hast du vielleicht eine Antwort?
Ich hänge mal eine kurze Kopie der Console an:
root@iobrokerhost:/opt/iobroker# iobroker stop
iobroker controller daemon is not running
root@iobrokerhost:/opt/iobroker# iobroker status
iobroker is running on this host.
At least one iobroker host is running.
Objects type: file
States type: file
root@iobrokerhost:/opt/iobroker# iobroker upgrade self
Controller is running. Please stop ioBroker first.
Vielen Dank im Voraus
Uwe
Hallo Uwe,
bitte mal hier lesen: https://buanet.de/knowledge-base/steuerung-iob-ueber-kommandozeile/
MfG,
André
Vielen Dank für deine Hilfe.
das hat super geklappt.
Gruß
Uwe
Hallo, danke für dieses Tutorial.
Leider bekomme ich den iobroker nicht zum Laufen. Alles nach Anleitung gemacht (MACVLAN). Wie im Kommentar von Patrick angegeben habe ich die beta Version genutzt.
Meine Logs sind:
[EDIT: Log entfernt!]
Bei den stats tauchen nur zwei Einträge auf:
root 1087 1070 0 08:04 ? 00:00:00 /bin/bash /opt/scripts/iobroker_startup.sh
1000 1673 1087 0 08:05 ? 00:00:01 iobroker.js-controller
Kannst du mir sagen, wo hier mein Fehler liegt?
Danke und Gruß
Markus
Hallo Markus,
dein Auszug aus dem Log sagt leider nichts aus. Wenn dann brauche ich schon das gesamte Log vom Start des Containers.
Da sich die Kommentare hier aber nicht für endlose Logs eignen, melde dich bitte mit deinem gesamten Log im ioBroker Forum Thread. Dann werden wir schauen…
MfG,
André
Hallo,
ich bin deiner Anleitung Schritt für Schritt gefolgt und habe nun das Problem, dass der iobroker über den Browser nicht erreichbar ist.
Meine Logs sehen wie folgt aus:
[Edit – Log entfernt]
Meine Stats sehen so aus:
root 8161 8144 0 20:24 ? 00:00:00 /bin/bash /opt/scripts/iobroker_startup.sh
1000 8867 8161 0 20:24 ? 00:00:01 iobroker.js-controller
root 9037 8144 0 20:25 pts/0 00:00:00 bash
Ich habe zusätzlich über das Terminal im Container folgenden Befehl ausgeführt:
curl -sLf https://iobroker.net/install.sh | bash –
leider alles ohne Erfolg. Ich habe den Docker den Portainer bestimmt 20 mal neu installiert aber lande immer beim gleichen Problem. Ich weiß nicht weiter vielleicht hast du einen Tipp 😉
mfg
Hallo Patrick,
du läufst in ein Problem das der aktuelle js-controller vom ioBroker hat. Das Problem ist, dass der ioBroker beim Start im Container nicht korrekt umbenannt werden kann. Ein Fix dazu ist in der nächsten js-controller Version enthalten. Bis die Version im stable ankommt hast du aktuell zwei Möglichkeiten:
1. Nach dem ersten Start deines Containers aktualisierst du zuerst den js-controller über die Kommandozeile auf mindestens v3.1.5 und startest deinen Container neu
oder
2. Du verwendest statt meines „latest“ Images die „beta“ Version. Dort habe ich einen temporären Workaround eingebaut der von vorn herein den js-controller in der passenden Version installiert.
MfG,
André
PS: Da sich die Kommentare hier nicht für komplette Logs eignen habe ich dein Log aus deinem Kommentar entfernt.
Hi, bei mir steht leider auch der Start bei
host.iobroker check instance „system.adapter.info.0“ for host „iobroker“
Ich habe bereits latest (4.2.0), beta (4.2.4) und 3.0.0 (hier ist das Log noch dünner) ausprobiert. js-controller ist auf 3.1.6.
Woran kann es liegen? Kann ich noch irgend etwas tun?
Gruß
Daniel
PS: hier noch das gesamte Log zum späteren Entfernen aus dem Kommentar:
[EDIT: Log entfernt!]
Hallo Daniel,
ich erkenne hier kein Problem. Das Log sieht soweit gut aus. Am Besten du startest nochmal mit einem leeren Ordner für /opt/iobroker und dem aktuellen Beta Image. Wenn du dann noch Probleme hast, meld dich am besten mit dem gesamten Log und den Wichtigsten Details zu deinem Container + Host im ioBroker Forum Thread.
MfG,
André
Danke für die echt super Anleitung! Bei mir startet iobroker v. 4.2 leider gar nicht, im Log bleibt es bei Step 5 „host.iobroker.v.4.0 check instance „system.adapter.info.0“ for host „iobroker““ stehen, WebGUI ist nicht erreichbar. 4.0 startet aber problemlos. Woran liegt es?
Setup: DS415+ (Atom CPU), DSM 6.2.3
Hallo,
tut mir wirklich leid, aber mit so wenig Informationen kann ich dir leider nicht helfen.
Für eine Analyse brauche ich zumindest das komplette Log vom Container.
Da sich die Kommentare hier dafür nur bedingt eignen schlage ich vor du postest dein Problem einmal im ioBroker Forum Thread.
MfG,
André
Hi, ich habe das selbe Problem.
Etwas abhilfe konnte ich mir verschaffen, in dem ich in der Konsole einen neunen Benutzer: admin 1 angelegt habe, danach war zumindest Oberflächer erreichbar. Aber es gibt dann noch Probleme mit den Rechten, so funktioniert der iobroker nur sehr eingeschränkt…
Hallo Tim,
auch bei dir kann ich dazu wenig bis gar nichts sagen. Zu wenige Informationen.
Was ich allerdings sagen kann ist, dass es nicht notwendig ist irgendwo einen neuen Benutzer anzulegen.
MfG,
André
Hi,
FYI: Ich hatte genau dasselbe Problem und bin fast verzweifelt… Downgrade auf 4.2 hat geholfen. GUI ist wieder erreichtbar,
Gruß,
Thomas
Hey Thomas,
wie hast du denn den Downgrade durchgeführt bzw. das richtige Image gezogen?
Hallo Andre,
vielen Dank für das super Images und dem Tut. Hat super geklappt auf meiner DS218+.
Ich versuche mich gerade an dein Backup Empfehlung, hier funktioniert es leider nicht so wie beschrieben und auf git steht auch noch etwas mehr wobei ich nicht weis, ob das beachtetet werden muss z.b. die stop.sh und aus der Anleitung die iobroker.json. Denke über den gebrach von Backitup nach aber kann dies nicht einrichten da per FTP die Ports eingerichtet werden muss und per option NAS auch rechte fehlen. Versteh ich es richtig das mit deinem Backup der Container immer gestopt wird?
Hallo,
das ist korrekt. Bei der beschriebenen Variante wird der Container und damit ioBroker immer vorher gestoppt und dann der komplette Inhalt des ioBroker Verzeichnisses gesichert.
Was die Verwendung vom Backitup-Adapter angeht, den nutze ich auch. Bei mir wird aktuell einmal in der Woche per Script der gesamte ioBroker-Ordner gesichert (und ioBroker dabei neu gestartet). Zusätzlich dazu erstellt Backitup jeden Tag eine lokale Sicherung, diese Sicherungen sind dann im wöchentlichen Backup der Ordners natürlich ebenfalls enthalten.
Backup ist ein Thema, da gibt es so viele Meinungen wie User. Letztendlich muss jeder selbst entscheiden wie er mit dem Thema Backup umgeht. Da gibt es leider keine allgemein gültige Lösung un keinen „richtigen“ Weg.
MfG,
André
Hallo André,
noch eine Frage von mir (auch wenn das hier eigentlich kein Supportforum ist).
Ich bin nun mit meinem ioBroker von meinem Pi3B+ (ARM7) in einen Container auf meiner DS218+ (x86-64) umgezogen. Die automatische Übernahme der alten Installation über /opt/iobroker vom Pi abgezogen und in den Container gemountet hat nicht funktioniert, aber eine händische Installation „entschlackt“ ja auch prima..!
Dabei ist mir nun aufgefallen, dass die einzelnen Adapter im Container auf der DS218+ teilweise knapp den doppelten Speicherhunger haben wie auf dem Pi. Ist das normal? Liegt das an der Architektur (ARM vs X86) oder an meinem 64-bit Container (4.2.0-AMD64)?
Ist jetzt nicht dramatisch, aber RAM auf der NAS ist kostbar. Ist die 32-bit Variante des Containers genügsamer?
Grüße
Daniel
Hallo Daniel,
dazu kann ich nicht viel sagen. Habe so eine Beobachtung aber noch nicht gemacht. Vielleicht ist das eine Frage für den ioBroker Forum Thread. Da sind ja viele User unterwegs die ggf. ähnliche Umstiege gemacht haben und so unter Umständen auch Vergleichswerte haben.
MfG,
André
Hallo,
ich habe heute mal neu installiert.
Leider haben alle Dateien und Verzeichnisse in /opt/iobroker den owner 999. Dadurch kommt es zu vielen EAACCESS Fehlern. Auch ein ändern des Owners auf iobroker bringt keine Abhilfe. Nach einigen Sekunden gehören die wieder 999.
Falls es wichtig ist, /opt/iobroker liegt auf einem Volume meines Synology.
Hast du eine Ahnung was das sein kann?
Hallo Ralf,
das kann ich dir leider auch nicht genau sagen. Habe so etwas bisher nicht beobachten können.
MfG,
André
Hallo André,
tolle Arbeit hier. Ich habe mir das meiste zum Thema ioBroker im Docker-Container von Deiner Seite gelesen und bin nun vom Pi3 auf meine Synology NAS umgezogen, allerdings ohne Portainer.
The (theoretische) Frage bleibt daher: Du beschreibst, wie man den Container mithilfe von Portainer aktualisiert. Geht das ähnlich einfach auch mit den Synology-DSM-Bordmitteln oder komme ich da um eine Installation von Portainer nicht umhin?
Beste Grüße
Daniel
Hallo Daniel,
wie ich bereits im Tutorial geschrieben habe gibt es mit Portainer eine ganze Reihe Vorteile bei denen die im DSM integrierte Oberfläche schlicht nicht mithalten kann. Versuche z.B. mal in der Oberfläche im DSM ein USB Gerät in den Container durch zu reichen… 🙂
Wenn du allerdings auf der Kommandozeile fit bist, kannst du natürlich alles was du im Portainer durch Klicken erledigst (und noch mehr) auch als Kommando auf deiner DS ausführen. Denn Docker ist und bleibt ja ein Dienst der über die Kommandozeile zu steuern ist. Portainer, DSM und Co sind nur grafische Oberflächen dazu.
Wie immer gilt also: Viele Wege führen nach Rom!
MfG,
André
Hallo André,
danke für diesen tollen Container.
Leider wird für den Container kein IP-Port veröffentlicht, auch nicht wenn man im Portainer diesen manuell einträgt. Bei manuellem Eintrag bekomme ich beim „Deploy“ eine Fehlermeldung (undefined is not an object (evaluating ‚e.ExposedPorts[n]={}‘)). Ich habe ein AsuStor auf dem Docker (Vers. 19.03.08) und Portainer (Vers. 1.23.2) läuft. Als Netzwerk nutze ich die Bridge, da ich die Kommunikation zwischen den Containern benötige. Auch die ENV-Variable „IOB_ADMINPORT“ ist auf 8081 gesetzt. Einzig eine Route, die ich in meiner FritzBox eintrage für das Bridge-Netz, ermöglicht dann den Zugriff auf ioBroker mit der Container-IP und dem Port. Das ist aber eigentlich nicht der normale Weg. Gibt es eine Möglichkeit hier das „Port-Publishing“ irgendwie zu ermöglichen.
Hallo Holger,
also offenbar scheint der Container an sich ja zu laufen. Soweit so gut.
Wenn du als Netzwerk Bridge nutzt, dann musst du auch alle von ioBroker verwendeten Ports entsprechend durchreichen. Du weißt, dass du für den Admin vom ioBroker dann auf http://[ip_des_host]:[angegebener_port] zugreifen musst?
Du kannst für deinen ioBroker Container auch einen anderen Neztwerktyp benutzen (z.B. Host oder MACVLAN) und zusätzlich ein zweites (Bridge-)Netzwerk,für die Kommunikation zwischen deinen Containern, zuweisen.
MfG,
André
Hallo André,
ja der Container läuft ohne Probleme. Deinen Vorschlag mit der zusätzlichen Bridge habe ich durchgeführt und damit beide benötigte Möglichkeiten erreicht. Über MACVLAN ist er nun von außen erreichbar und über die Bridge sind die Zugriffe zwischen den Containern möglich. Danke für den Hinweis. Eventuell bekommst du es aber auch noch hin das man die nötigen Ports über die Netzwerk-Konfiguration bei Nutzung einer Bridge nach Außen öffnen kann.
Nochmals danke.
Mit freundlichen Grüßen,
Holger
Hallo Holger,
freut mich, dass es mit meinem Tipp geklappt hat. Deinen letzten Satz verstehe ich hingegen nicht. Wenn ich bei mir einen Container mit Bridge Netzwerk aufsetze und den Port 8081 durchreiche, dann kann ich den ioBroker über http://[ip_des_hosts]:8081 aufrufen. Es ist mir daher ein Rätsel was du meinst. Im Moment sehe ich für mich da kein To-Do, denn ich „bekomme es“ ja bereits so „hin“. Wenn du dies anders siehst, dann eröffne gerne ein Issue bei Github mit Logausgabe und deiner Config. Dann kann ich schauen ob es wirklich am Container Image liegt.
MfG,
André
Hallo Andre, vielen dank für diese tolle arbeit.
Leider komme ich nicht weiter mit meiner installation weder im Netzwerkmodus host noch in macvlan. Ich würde gerne macvlan einrichten scheitere aber bei der Network config. Habe hier per ssh die eth0 ausgewählt mit meiner NAS IP 192.168.178.49.
Den nächsten Schritt verstehe ich nicht Subnet wäre ja evtl. 255.255.255.0 oder muss hier die 192.168.178.0 rein? Genauso bei Gateway ist hier der Router gemein also in meinen fall die 192.168.178.1? Als IP soll der Container mit iob auf 192.168.178.81 laufen entsprechend ahbe ich die 192.168.178.81/32 bei IP Range eingesetzt.
Versuche ich mich jetzt ein neues Netz zu ertsellen und dann auf creation zu gehen und meine vorherige config auszuwählen bekomme ich immer „Faild to allocate gateway 192.168.178.1 request adresse out of range“
Was mache ich falsch / was habe ich vergessen?
[EDIT] zudem kann ich leider nicht mehr die erstellten Netwerk configs löschen
Vielen Dank
Hallo,
bitte schaue nochmal in das Tutorial. In den Screenshots siehst du wie z.B. das Subnet eingetragen werden muss. In deinem Fall wäre dass dann ja 192.168.178.0/24, oder nicht? (Als Lesestoff einmal hier etwas zur Schreibweise von Subnetzen)
Was das Löschen von MACVLAN Configs angeht habe ich von dem Problem schon mal gehört, es aber selbst noch nie erlebt. Schau dazu mal bitte in den ioBroker-Forum Thread.
MfG,
André
Hallo, danke es hat geklappt. Kann ich bis auf weiters im Nachgang die IP im MACVLAN nochmal ändern? Oder eine IP Zuweisen per Fritzbox?
Hallo,
bei MACVLAN kannst du die IP, bzw. den Adressbereich nur bei der Erstellung festlegen. Nachträglich gibt es da nichts zu ändern, wie bei vielen Sachen unter Docker. Im Grunde gilt immer: Löschen und neu Anlegen.
Die Fritzbox oder ein anderer Router darf in keinem Fall Adressen des MACVLAN zuweisen oder vergeben. Die im MACVLAN über den Adressbereich definierten Adressen dürfen auch nicht von einem DHCP vergeben werden. Sonst kann es da zu Konflikten kommen.
MfG,
André
DNS Problem? Bei mir funktioniert die DNS-Auflösung nicht. In der Console ping nach 1.1.1.1 geht.
ping http://www.google.de geht nicht. Temporärer Fehler bei der Namensauflösung.
cat /etc/resolv.conf
nameserver 127.0.0.11
Wie ist das geregelt mit DNS ?
Hallo Torsten,
hast du schon mal in der Docker Dokumentation geschaut wie Docker die Namensauflösung handhabt? Hier steht zum Beispiel wie du deinem Container einen Eintrag fpr den DNS-Server deiner Wahl mitgeben kannst.
MfG,
André
Hi,
ich hatte da noch ein Problem mit meinen Kopf. Erst später kam ich auf die Idee das Docker dafür zuständig ist. War mein erster Versuch mit Docker. Hab es dann natürlich rausgefunden.
Danke für die Anleitung und die Hilfe.
Autostart ? Hallo noch mal. Gestern hatte ich einen Stromausfall und die NAS war aus. Von der alten Version bin ich gewohnt das IOBroker nach dem einschalten automatisch startet. Kann man das auch hier einstellen ? Und wenn ja wie 🙂
Hallo Glenn,
ioBroker starte immer wenn der ioBroker-Container startet. Das wird durch das Startupscript getriggert.
Wenn der Container allerdings nicht startet, dann ist das vermutlich ein Docker Problem.
Du kannst zwar beim Container eine „restart policie“ konfigurieren, aber die ist eher dazu gedacht den Container im Fehlerfall automatisch neu zu starten. Für den Start der Container nach einem Neustart sollte eigentlich der Docker Daemon sorgen. Er startet in der Regel nach einem Neustart immer die Container automatisch, die vorher auch liefen. Bisher hatte ich diesbezüglich auch noch keine Probleme.
MfG,
André
OK. Danke !
Hallo
Ich bin am verzweifeln. Habe eine Version 2 2.2.9 am laufen . Aber ich bekomme es nicht hin die V3 auf meiner DS216+
zu installieren . Egal welches Image ich verwende es wir immer die Version 2 installiert.
Betriebssystem
linux
Betriebssystem
linux
Architektur
x64
CPUs
2
Geschwindigkeit
1601 MHz
Modell
Intel(R) Celeron(R) CPU N3060 @ 1.60GHz
RAM
7.72 GB
System Betriebszeit
43 T. 19:29:45
Node.js
v12.16.2 (Es gibt eine neuere Version: v12.16.3)
NPM
6.14.4
Vielleicht kann mir ja jemand helfen
Hallo Raimund,
leider weiß ich nicht wovon du sprichst. Das Docker Image gibt es nicht in Version 2.2.9.
Bitte konkretisiere dein Problem, sonst wird dir niemand helfen können.
MfG,
André
Hallo Andre
Ich habe eine Container über das Tutorial aus latest immer über den Portainer einfach neu
über die bestehenden Daten erstellt. Leider ist es immer bei der Versin 2 geblieben.
Auch den Versuch aus dem Image V3 oder V4 ein neuen leeren Container zu erstellen
wir immer die V2.2.9 erstellt.
root@buanet-iobroker2:/opt/iobroker# iobroker –version
2.2.9
root@buanet-iobroker2:/opt/iobroker# node -v
v12.16.2
root@buanet-iobroker2:/opt/iobroker# nodejs -v
v12.16.2
Der Iobroker läuft eigentlich seither sehr zuverlässig
Gruß
Raimund
Hallo Raimund,
die ioBroker-Version hat nichts mit der Version des Containers zu tun. Die Version die du da abfragst ist die Version des js-controllers, wie sie auch in der Weboberfläche des ioBroker zu finden ist.
Da der js-controller in deinem ioBroker-Verzeichnis installiert ist, wird dieser bei der Verwendung einer neueren Version des Images auch nicht automatisch aktualisiert. Den js-controller musst du, wie auch alle Adapter, immer selbst aktualisieren.
MfG,
André
Ich habe vor kurzem von v1 auf v3 „geupdated“, dabei ist mir aufgefallen, dass Node.js
mit v10.x installiert wird. Empfohlen wird derweil v12.x – besteht die Möglichkeit, dass du den Container hinsichtlich der Node.js aktualisierst? Ich hatte bereits ein Update versucht, aber das verursacht mir Kopfschmerzen.
Hallo Sören,
soweit ich das von den ioBroker-Entwicklern erfahren konnte wird Node 12 erst ab js-controller v3 empfohlen. Der ist aktuell meines Wissens noch nicht im stable verfügbar. Sobald das der Fall ist, werde ich eine neue Version des Containers bereitstellen. Bis dahin lade ich dich herzlich ein die aktuelle Beta-Version zu testen:
https://github.com/buanet/docker-iobroker/blob/beta/README.md
MfG,
André
Offensichtlich mit viel Liebe zum Detail umgesetzt, leider komme ich nicht weiter und bevor ich im Git einen issue generiere, der vielleicht selbst generiert ist frage ich erst einmal hier.
Ich versuche Dein Paket auf einem Pi4 mit 4GB und installiertem Raspbian lite, Docker und Portainer zum Laufen zu bringen.
In Verwendung ist ein MACVLAN wie von Dir beschrieben.
Sobald der Container startet endet es irgendwann in der folgenden Zeile:
hash changed or no sources cached => force download of new sources
Leider bleibt es dann an dieser Stelle so stehen. Es erfolgt keine weitere Ausgabe. Auf die Konsole des Containers komme ich mit root und habe schon einiges getestet, aber eher ungeplant. Darunter Fallen Paketupdates, Neustart der iobroker Prozesse soweit es mir möglich war. Das Ganze hatte bisher jedoch kein System.
Zur Vereinfachung habe ich auch bereits ohne jede manuelle Anpassung, ENV, Volume etc. getestet, laufe jedoch immer in dasselbe Verhalten.
Einmal konnte ich durch mehrfaches Neustarten auf die ioBroker Site zugreifen, das konnte aufgrund des unbefriedigenden Weges jedoch nicht so bleiben, daher habe ich von vorne begonnen.
Hast Du eine Idee wo ich hier ansetzen kann?
Es folgt die gesamte Ausgabe des Logs und schon einmal vielen Dank.
,
————————————————————,
————— 2020-05-19 19:29:54 —————,
————————————————————,
,
————————————————————,
—– Welcome to your ioBroker-container! —–,
—– Startupscript is now running. —–,
—– Please be patient! —–,
————————————————————,
,
————————————————————,
—– Debugging information —–,
—– —–,
—– System —–,
—– arch: armv7l —–,
—– —–,
—– Versions —–,
—– image: v4.2.0 —–,
—– node: v10.20.1 —–,
—– npm: 6.14.4 —–,
—– —–,
—– ENV —–,
—– PACKAGES: nano —–,
—– SETGID: 1000 —–,
—– SETUID: 1000 —–,
————————————————————,
,
————————————————————,
—– Step 1 of 5: Preparing container —–,
————————————————————,
,
Installing additional packages is set by ENV.,
The following packages will be installed: nano…,
Done.,
,
————————————————————,
—– Step 2 of 5: Detecting ioBroker installation —–,
————————————————————,
,
There is no data detected in /opt/iobroker. Restoring initial ioBroker installation…,
Done.,
,
————————————————————,
—– Step 3 of 5: Checking ioBroker installation —–,
————————————————————,
,
(Re)Setting folder permissions (This might take a while! Please be patient!)…,
Done.,
,
Fixing „sudo-bug“ by replacing sudo in iobroker with gosu…,
Done.,
,
Looks like this is a new and empty installation of ioBroker.,
Hostname needs to be updated to iobroker…,
The host for instance „system.adapter.admin.0“ was changed from „d53782964492“ to „iobroker“.,
The host for instance „system.adapter.discovery.0“ was changed from „d53782964492“ to „iobroker“.,
The host for instance „system.adapter.info.0“ was changed from „d53782964492“ to „iobroker“.,
Done.,
,
————————————————————,
—– Step 4 of 5: Applying special settings —–,
————————————————————,
,
Some adapters have special requirements/ settings which can be activated by the use of environment variables.,
For more information take a look at readme.md on Github!,
,
————————————————————,
—– 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.discovery.0“ for host „iobroker“,
host.iobroker check instance „system.adapter.info.0“ for host „iobroker“,
Send diag info: {„uuid“:“7abd3182-d399-f7bd-da19-9550d8babede“,“language“:““,“country“:““,“hosts“:[{„version“:“2.2.9″,“platform“:“Javascript/Node.js“,“type“:“linux“}],“node“:“v10.20.1″,“arch“:“arm“,“adapters“:{„admin“:{„version“:“3.7.8″,“platform“:“Javascript/Node.js“},“discovery“:{„version“:“2.2.2″,“platform“:“Javascript/Node.js“},“info“:{„version“:“1.5.6″,“platform“:“Javascript/Node.js“}},“statesType“:“file“,“objectsType“:“file“,“model“:“ARMv7 Processor rev 3 (v7l)“,“cpus“:4,“mem“:4147699712,“ostype“:“Linux“,“city“:““},
hash changed or no sources cached => force download of new sources,
Hallo Stefan,
ich sehe dein Problem nicht beim ioBroker. Der scheint wie gewünscht zu starten. Hast du vielleicht ein Problem mit dem MACVLAN? Auf die Entfernung ist sowas immer schwer zu diagnostizieren. Das Log ist jedenfalls soweit sauber und die letzte Meldung sagt eigentlich nicht viel. Der Start des ioBroker ist da bereits durch.
MfG,
André
Hallo André,
vielen Dank für die Antwort. Ich vermute auch es ist ein Netzwerkproblem, aber so recht komme ich nicht weiter. Mir ist aufgefallen das für die Config in der Tabelle im Bereich Driver null steht.
Um ein Problem in der GUI auszuschließen habe ich die Config und die Creation mal via Commandline erstellt.
Müsste eigentlich so korrekt sein meine ich.
docker network create -d macvlan –subnet=192.168.1.0/24 –gateway=192.168.1.1 -o parent=eth0 –ip-range=192.168.1.222/32 iobroker_config –config-only
docker network create -d macvlan –config-from iobroker_config iobroker_creation
Interessant ist das ich aus dem Container raus komme, aber nicht rein. Auch nicht direkt vom RaspberryPi.
Hast Du noch eine Idee oder siehst gar direkt einen Fehler?
Interessant, wenn auch vielleicht irrelevant. Aus dem Docker kann ich ping oder wget ins Internet/google.de und zur angeschlossenen Fritzbox erfolgreich durchführen. Ein ping auf den Raspberry, also selber Host funktioniert nicht.
Genauso kann ich vom Raspberry nicht den Docker via Ping erreichen.
Legt doch nahe das etwas die Kommunikation aus Richtung des Pi in den Container verhindert. Also vom Gastsystem in den Docker Container.
Leider habe ich in der Dokumentation zu Docker keine relevanten Informationen hierzu gefunden.
https://docs.docker.com/network/macvlan
Ich vermute es zwar nicht, aber fehlt vielleicht ein wichtiger Schritt in Deiner Anleitung oder habe ich etwas übersehen?
Portainer und einen Unifi Controller Container kann ich zwar erreichen, aber eben ohne MACVLAN, sondern bisher nur unter der IP des Pi. Ist also nicht verwunderlich.
Danke und Gruß
Stefan
Hallo Stefan,
ob der Befehl so richtig ist kann ich nicht beurteilen. Mache fast alles über Portainer. Inhaltlich scheint es aber zu passen. Hast du mal eine andere IP für das MACVLAN versucht? Kannst du den Container denn von deinem PC aus anpingen? Siehst du den Container auf deiner Fritzbox?
Dass du aus dem Container heraus den Host (RaspberryPi) nicht erreichst ist normal. Die beiden IPs (Raspberry und Container) liegen dabei auf einem Netzwerk Interface (bei dir offenbar eth0). Die können nicht miteinander sprechen. Das ist technisch bedingt.
MfG,
André
Hallo André,
vom Laptop funktionierte es nicht, der Router hat die IP gesehen. Den Fakt das man vom Host nicht einfach in den Container kommt hatte ich auch schon gelesen, hat mir erst eben verwirrt, dann jedoch natürlich nicht weiter gebracht.
Vieles hin und her und genaues Lesen brachte nichts, ABER die Lösung ist so einfach wie auch hilflos gewesen.
Es ist offensichtlich ein Bug in der Firmware des RaspberryPi 4 B.
Portainer selbst beschreibt unter folgendem Link wie MACVLAN funktioniert.
https://www.portainer.io/2018/09/using-macvlan-portainer-io/
Dort fand ich dann den goldenen Hinweis das es sich ggf. um einen Bug in der Firmware des Pi
4.19.105 handelt.
Momentan erhält man das Update lediglich über ein manuelles Upgrade. Ich wollte nicht auf die aktuellste Version gehen, da ich Respekt vor weiteren Bugs aus einer nicht ausreichend getesteten Firmware hatte.
Es war für mich etwas mühselig den richtigen Hash zu finden, daher hier für alle die demselben Schicksal erlagen:
sudo rpi-update fd8347b54d64b462b6aaf9771448d1b4d8ee4e0e
Vielen Dank für die Mühe die Du Dir gemacht hast und Gruß
Stefan
Hallo Stefan,
danke für die Info. Irgendwo hatte ich auch schon mal was von nem Bug in Zusammenhang mit dem Raspi 4 und Docker gelesen. Habe es aber nicht in Zusammenhang bringen können. Sorry.
MfG,
André
Hallo Andre,
erstmal Danke für dein Tutorial um den iobroker auf die Diskstation zu bringen. Hatte es bereits mit deiner alten Anleitung geschafft. Auch mit der neuen Anleitung war das kein Problem. Jetzt läuft wieder alles und iobroker sowie das ganze System sind auf dem neuesten Stand. Auch der „Umzug“ hat problemlos geklappt.
Dafür wollte ich einfach mal Danke sagen.
Grüsse aus Kaiserslautern.
Dirk
Hallo Dirk,
vielen Dank für dein Feedback. Schön auch mal von Erfolgen und nicht nur von Problemen zu hören! 🙂
MfG,
André
Hallo ! Nach dem ich meine alte Version geschrottet habe wollte ich nun mit der neuen Anleitung mir die V3 neu istallieren. Ich habe den Portainer sauber zum laufen bekommen.
Ich habe die macvlan istatalation benutzt. Der Container ist meiner Meinung nach gestartet, aber im log sieht man das NANO nicht herunter geladen werden konnte. Wo liegt mein Fehler ? Die Admin Seite ist nicht erreichbar.
—– System —–
—– arch: x86_64 —–
—- —–
—– Versions —–
—– image: v4.2.0 —–
—– node: v10.20.1 —–
—– npm: 6.14.4 —–
—– ENV —–
—– AVAHI: false —–
—– PACKAGES: nano —–
—– SETGID: 1000 —–
—– SETUID: 1000 —–
—– Step 1 of 5: Preparing container —–
Installing additional packages is set by ENV.
The following packages will be installed: nano…
E: Fehlschlag beim Holen von http://deb.debian.org/debian/pool/main/n/nano/nano_3.2-3_amd64.deb Temporärer Fehlschlag beim Auflösen von »deb.debian.org«
E: Einige Archive konnten nicht heruntergeladen werden; vielleicht »apt-get update« ausführen oder mit »–fix-missing« probieren?
Done.
—– Step 2 of 5: Detecting ioBroker installation —–
Existing installation of ioBroker detected in /opt/iobroker.
—– Step 3 of 5: Checking ioBroker installation —–
(Re)Setting folder permissions (This might take a while! Please be patient!)…
Done.
Fixing „sudo-bug“ by replacing sudo in iobroker with gosu…
Done.
—– Step 4 of 5: Applying special settings —–
Some adapters have special requirements/ settings which can be activated by the use of environment variables.
For more information take a look at readme.md on Github!
—– 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.discovery.0“ for host „iobroker“
host.iobroker check instance „system.adapter.info.0“ for host „iobroker“
Hallo Glenn,
sieht aus als klappt da was mit deiner Internetverbindung nicht. Überprüfe mal ob dein MACVLAN korrekt eingerichtet ist. Falls du weiterhin Probleme hast, melde dich mal im ioBroker-Forum, dann müssen wir mal schauen wo es klemmt.
MfG,
André
Danke , das Problem konnte ich lösen. Jetzt aber habe uch foldendes Problem. Der Synology Adapter findet die Diskstation nicht mehr. Auch der Ping Adapter nicht. Ich habe gelesen das das normal ist das iobroker dann nicht mehr die IP von der Diskstation findet. Man soll dann einen weiteren Netzwerkadapter anlegen. Nur da es in Englisch beschrieben ist weis ich nicht genau wie. Tipps dafür ? https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/
Hallo Glenn,
das ist korrekt. Schau mal in den ioBroker Forum Thread, da wurde das auch schon mehrfach besprochen. Du musst keinen zweiten „Netzwerkadapter“ erstellen, sondern deinem Container neben den MACVLAN ein zusätzliches Bridge Netzwerk hinzufügen. Dann ist deine DS über den Namen bzw. das Gateway in dem Bridge Netzwerk wieder erreichbar.
MfG,
André
Hi ! Habe dort gesucht aber…. hast du einen Link zufällig für mich ? Habe das auch als Frage dort gestellt aber 0 Resonanz.
Hallo Glenn,
habe deine Frage nicht gesehen, aber hier war das Thema auch gerade wieder aktuell:
https://forum.iobroker.net/topic/4733/howto-anleitung-installation-iobroker-in-docker-auf-synology-diskstation/1801
MfG,
André
Brige Ports: Sorry da bin ich nicht schlau genug für 🙂 wenn ich auf den Brige Mode wechsel läuft der Synology adapter. ABER nun laufen MQTT und Sonoff nicht mehr. Welche Ports muss ich dafür öffnen ?
Hallo Glenn,
das kann ich dir nicht sagen. Nutze beides nicht. Ich kann dir aber sagen, dass nicht alle Adapte im Bridge Mode laufen. Betroffen sind z.B. Adapter die per Multicast arbeiten. Diese Meldungen kommen dann nicht bis in den Container.
MfG,
André
Hallo !
Ich habe dank deiner Anleitung von 2017, ioBroker im Docker auf meiner Syno laufen und inzwischen stark ausgebaut. An das JS-Controller Update (Stand V 1.4.2) und an deine Anleitung V3 habe ich mich aus Furcht vor Totalverlust noch nicht herangewagt. Habe bisher nur die Adapter aktualisiert, sonst nichts. Also der ioBroker Stand ist abgesehen von den Adaptern noch von 2017.
Wo finde ich eine Schritt für Schritt Anleitung an der ich mich sicher entlang hangeln kann, um aus dieser Update-Falle herauszukommen ? Habe leider nicht wirklich was gefunden ?
Vielen Dank !!
Hallo Armin,
eine generelle Schritt für Schritt Anleitung gibt es leider nicht und kann es auch nicht geben. Dafür sind zu viele Faktoren zu berücksichtigen. Im ioBroker Forum haben wir schon öfter Updates besprochen und auch verschiedene Abläufe/ Abfolgen diskutiert. Vielleicht stöberst du da mal ein bisschen.
Da deine Version doch schon recht alt ist (z.B. dein js-controller noch auf V1) würde ich mal schauen ob du vielleicht den Weg über ein ioBroker Backup gehst. Dieses würdest du dann praktisch in einen neuen, aktuellen Container einspielen statt deine alte Instanz zu aktualisieren…
Vom Ablauf würde das grob so aussehen:
1. Backup erstellen
2. Backup-File in einen neuen, leeren Ordner auf der DS ablegen
3. Alten Container stoppen
4. Neuen Container erstellen und den neuen Ordner mit dem Backupfile als „/opt/iobroker“ einbinden
5. Container starten und Log beobachten
6. Wenn ioBroker gestartet ist, auf die Weboberfläche verbinden
7. Warten bis der ioBroker alle Adapter neu installiert hat (das kann dauern und im ioBroker Log verfolgt werden)
8. Adapter ggf. wieder starten und Funktion prüfen
Wenn das alles nicht funktioniert, dann weg mit dem neuen Container und den alten wieder starten…
Bei Problemen sichere dein Logfile aus dem Container und besuche uns im ioBroker Forum Thread. Da wird dir in der regel zuverlässig geholfen.
MfG,
André
Danke für deine Antwort. Die diversen Diskussionen im Forum verfolge ich schon länger, aber genau die haben mich total verunsichert, weil offensichtlich immer irgendwas schief geht beim Update.
Der Vorschlag, in einen neuen Container umzuziehen und den alten dabei funktionsfähig zu halten, erscheint mir erfolgsversprechender. Leider beschreibst du in deinem Tutorial nur den Umzug von einem RPi mittels Komplettsicherung und nicht von einem Container zum anderen. Reicht es in dem Fall nicht, das ausgelagerte Verzeichnis „iobroker_mount“, das im Verzeichnis „docker“ liegt in ein Backupverzeichnis zu kopieren und später damit den neuen Container zu überschreiben ?
Gruss,
Armin
Hallo Armin,
natürlich kann man auch mit dem ioBroker-Verzeichnis bzw. einer Kopie davon arbeiten. Allerdings muss man dann nach dem Erstellen des neuen Containers ioBroker und die installierten Adapter über die Kommandozeile auch auf den neusten Stand bringen. Und gerade wenn die Installation sehr alt ist, kann es da zu Problemen kommen. Wenn man hingegen den Weg über das Backup geht, dann installiert man praktisch einen ganz neuen, frischen ioBroker und stellt dann das Backup wieder her. Im Backup sind dann alle Konfigurationsdateien der Adapter sowie Visualisierungen usw. drin.
MfG,
André
Jetzt bin ich mehr verwirrt als vorher. Deine Anleitung „bis V2“ fand ich seinerzeit noch gut nachvollziehbar. Bei der neuen Version V3 verstehe ich nur noch „Bahnhof“. Da finde ich keinen roten Faden drin.
Ich versuche nun erst mal ein Backup der alten ioBroker Installation zu erstellen. Das habe ich noch nie gemacht.
Du schreibst: es ist sinnvoll die alte Node-Version vorher auf Version 10 zu bringen. Ich habe Version 6. Wie macht man das Update ? Wegen der Warnungen zu diesem Update habe ich das bisher ignoriert. Meine ioBroker Umgebung MUSS laufen. Sonst bricht hier alles zusammen. Ist halt eine echte Wirkumgebung.
Da ich nur einen einzigen Container nutze möchte ich möglichst nicht den Portainer nutzen. Funktioniert die Anleitung dann noch ?
4. Neuen Container erstellen und den neuen Ordner mit dem Backupfile als „/opt/iobroker“ einbinden -> diesen Teil deines groben Ablaufes verstehe ich nicht. Gemeint ist wohl der Ordner mit dem Backup ? Und wie binde ich den dann ein ?
Als Netzwerkwerk Variante möchte ich weiterhin den Host Modus nutzen. Da steht überhaupt nichts im Tutorial drin.
Vielen Dank für deine Geduld.
Hallo Armin,
in den letzten 3 Jahren hat sich mein Container-Image, wie das Software halt so tut, einfach weiter entwickelt. Neue Features sind dazu gekommen, Inhalte wurden aktualisiert und das Image entwickelte sich vom reinen „Synology Image“ zu einem echten Docker Image. All diese Entwicklungen verlangen einem Anwender heute sicherlich mehr ab als noch vor 3 Jahren…
Die Nutzung von Portainer als grafische Weboberfläche hat eigentlich zwei Gründe. Zum Einen gibt es natürlich die Oberfläche die im DSM integriert ist nur auf den Synology Disk Stations (Den Container kann man aber auf allen Systemen mit Docker verwenden!), zum Anderen bietet Portainer deutlich mehr Möglichkeiten die für die Einrichtung einiger neuer Funktionen die sich schlicht über den DSM nicht realisieren lassen. Wenn du also fragst, ob es ohne Portainer geht, ist das ein klares JA! Allerdings wirst du früher oder später wahrscheinlich auf Funktionen treffen die sich im DSM nicht umsetzen lassen. Solltest du dich entscheiden ohne Portainer an den start zu gehen empfehle ich dir den ioBroker Forum Thread. Es gibt dort User die das auch in der aktuellen Version so laufen haben, ich bin dann an dieser Stelle jedoch raus.
Weiter fragst du nach dem Host Modus. Diesen habe ich nicht mehr explizit im Tutorial aufgenommen, da es durch Änderungen innerhalb der ioBroker-Software (ioBroker läuft in neueren Versionen unter einem eigenen User) zu Problemen bei der Ausführung des Containers auf Synology Disk Stations kommt. Ursache ist eine veraltete Kernel Version im DSM. Ein darin existierender Bug verhindert die Verwendung von „sudo“ innerhalb des Containers. Sudo wird allerdings bei einigen Aktionen (z.B. js-controller Updates) benötigt. Resultat: Für Synology User kann es Probleme geben! Zur Behebung des Bugs muss der Kernel im DSM aktualisiert werden. Dies wird vermutlich allerdings erst mit DSM 7 der Fall sein. Alles was ich im Container zur „Umgehung“ des Problems tun konnte habe ich getan. Der reine Betrieb im Host Modus sollte daher auch auf DiskStations wieder funktionieren. Eine Garantie kann ich dafür aber nicht geben. Auch hier ist es sicher nicht falsch mal die Schwarmintelligenz im ioBroker Forum zu nutzen. Im ioBroker Forum Thread wurde das Thema bereits mehrfach besprochen.
Nochmal zurück zu meiner keinen Kurzanleitung. Die Ganze Node-Update Arie kannst du vergessen wenn du so vorgehst. Was ich Beschrieben habe ist einfach gesagt: Backupfile mit Konfigurationsdaten erstellen, NEUEN Container anlegen, Backup Wiederherstellen, warten, fertig… Bei Punkt 4 geht es um den Ordner der auf deiner DS liegt und bei der Erstellung des Containers in den selbigen gemountet wird. Also praktisch das Data-Verzeichnis des ioBroker. Wenn du das Backupfile erstellt hast, erstellst du auf deiner DS einen leeren Ordner. In diesen kopierst du dein Backupfile. Beim Erstellen des Containers gibst du dann als mount für /opt/iobroker/ den Ordner mit dem Backupfile an. Den Rest erledigen das Startup Script des containers und ioBroker selbst…
Für weitere Fragen poste am Besten im ioBroker Forum Thread. Da lassen sich solche Sachen dann auch besser, z.B. mit Screenshots, erläutern.
MfG,
André
Vielen Dank, für die ausführliche, hilfreiche Antwort. Und ja, im ioBroker Forum wurde mir schon oft geholfen. Zum angedachten Schwenk von der alten Anleitung „bis V2“ zu dem neuen Verfahren findet man nur wenig Zusammenhängendes.
Letztlich könnte für mich die alte Weisheit, „Never change a running system“, die richtige Lösung sein. Schaun wir mal !
Aber um eins möchte ich dich noch bitten: in der Anleitung bis V2 sind mehrere Befehle nicht mehr sichtbar und wurden durch http://[name_oder_ip_der_diskstation]:8081
ersetzt. Z.B. beim Abschnitt „Backup planen“.
Damit komme ich beim Backup/Restore nicht weiter.
Kannst du da mal nachschauen ?
Vielen Dank und schönen Gruss
Armin
Hallo ich noch mal aus besonderem Anlass: leider ist vor meiner Backup Aktion der Web-Adapter upgedatet worden und funktioniert nicht mehr wg. der alten Node Version. Eine Version zurück geht nicht. Ich dachte mit dem Befehl “ npm i iobroker.web@2.4.10 “ eine ältere kompatible Version installieren zu können. Leider finde ich in der Anleitung nicht, wie man einen Adapter händisch installiert: über die Docker Konsole oder über die DS Konsole im iobroker_mount Verzeichnis ?
Danach werde ich wohl den Weg über V3 wagen.
Danke.
Hallo Armin,
am Einfachsten ist es wenn du dich im Container auf die Kommandozeile verbindest und im Ordner /opt/iobroker deine Kommandos ausführst. Eine Liste der ioBroker-Kommandos findest du z.B. hier: https://github.com/ioBroker/ioBroker/wiki/Console-commands
Was das Erstellen deines Backups angeht, damit ist nicht das Backup des gesamten Orderns (aus meinem Tutorial) gemeint! Es ist das backup gemeint, dass du über die Kommandozeile per „iobroker backup“ erstellst…
MfG,
André
Hallo Andre, vielen Dank für das tolle Tutorial.
Habe jetzt mal auf der Synology das MACVLAN (auf einem bond0 aller 4 LANs) eingerichtet und auch gleich den redis als Docker drauf gesetzt – tut alles wunderbar und redis antwortet auf dieser Adresse – so weit so gut. Wenn ich nun den ioBroker mit dem MACVLAN als Netzwerk starten will (mit Environment variable gesetzt: REDIS=MACVLAN-IP-Adresse:6379) startet der Container erst gar nicht und Portainer meldet einen Failure mit „no available IPv4 adresses on this networks’s address pools:MACVLAN“. Bin mir nicht sicher wo das Problem zu suchen ist – MACVLAN Setup? oder behaken sich redis und ioBroker hier? – Bin um jeden Hinweis dankbar.
Viele Grüsse
Peter
Hallo Peter,
die Meldung selbst sagt mir jetzt leider nichts. Du könntest mal die aktuelle Beta Version testen. Aber Achtung, die ENV REDIS gibt es so dort nicht mehr. Am Besten du wirfst vorher einen Blick in die readme.md. Sollte es damit auch nicht klappen, Poste deine Frage am Besten im ioBroker Forum Thread. Nach Möglichkeit inkl. Details zum Cobtainer und vollständigem Logfile. Viel Erfolg!
MfG,
André
Hallo und erst mal Danke für das tolle Tutorial!
Bei mir läuft iobroker nach dem Umzug vom Raspi super auf einer DS218+ allerdings habe ich folgendes Problem:
Vom PC (zusammen mit der DS218 auf einem Switch) komme ich an alle Seiten ran, auch an den iobroker. Hue, CCU laufen auch damit (per kabel an der Fritzbox) . Über das WLAN meiner Fritzbox komme ich aber nicht auf die Webseiten des iobroker, kann die IP aber anpingen. Die Antwort im Browser ist „Connection refused“.
Wo muss ich jetzt nach meinem Fehler suchen?
Gruß
Michael
Ok. nach längerer Suche….das mit dem WLAN war Zufall, nach (dann mehrmaligem) Neustart des Containers und der DS218, der nichts half, habe ich in der Konfig des Admin-Adapters testweise die Optionen für Verschlüsselung und Authentifizierung abgewählt, bachte auch nichts und dann wieder angehakt, wonach das plötzlich klappte. Wieso ich mit meinem PC da vorher drauf kam, bleibt mir ein Rätsel. Lag wahrscheinlich an dem eingespielten Backup. Also erledigt…
Hallo Michael,
sorry, dass ich mich erst jetzt zu Wort melde. 🙂 Ehrlich gesagt hätte ich dir aber auch nicht so richtig helfen können.
Es gibt leider viele verschiedene Möglichkeiten den ioBroker unter Docker ein zu richten. Allein für das Netzwerk des Containers gibt es 3 Optionen. Falls du also nochmal Unterstützung benötigst, melde dich gerne hier oder im ioBroker-Forum-Thread. Und dann am Besten gleich mit ein paar Zusatzinformationen zu deinem Setup.
MfG,
André
Hallo, localhost:8082 kann ich im Docker nicht erreichen, was läuft nicht richtig?
Hallo Guido,
eigentlich wäre jetzt ein Spruch mit ner Glaskugel fällig.
Ich kann leider deine Frage nicht beantworten. Ich weiß weder warum du localhost aufrufen musst, noch wo du dies tust.
Vielleicht hast du ja noch etwas mehr Infos parat…
MfG,
André
Port im Firewall Setup der DS freigegeben? War jedenfalls bei mir das Problem. Danach ging der Zugriff.
Hallo,
ich betreibe ioBroker mit dem „buanet/iobroker:latest“ image auf einem Raspi 3.
Wenn ich versuche mit dem iobroker modul rpi2 die gpio pins zu bedienen, bibt es immer die Logmeldung:
Cannot setup port 23 as input: Error: EACCES: permission denied, open ‚/sys/class/gpio/export‘
Ich habe es schon den container schon mit „Privileged mode“ gestartet und auch /dev und /sys als devices in Portainer mit angegeben. Auch SYS_RAWIO bei den container capabilities. Ich sehe im container auch die verzeichnisse samt Inhalt, wobei die gruppe von export eine ID enthält und nicht gpio. Alles versuche die notwendigen Berechtigungen zu setzen verliefen bei mir erfolglos.
Hat schon mal jemand beim adapter rpi2 das gpio mit dem docker image zum Laufen gebracht?
Beste Grüße
Michael
Hallo Michael,
ich habe dazu leider noch keinerlei Erfahrungen. Frag am Besten mal im ioBroker Forum Thread, da lesen mehr Leute mit als hier.
Viel Erfolg.
MfG,
André
PS: Wenn sich daraus etwas ergibt, das ich vielleicht mit in das Image aufnehmen soll, würde ich mich über einen entsprechenden Issue bei Github freuen.
Hallo André,
vielleicht bekommen wir das beide auch hin. Ich habe selber mal die komplette Kette von iobroker bis gpio getestet. rpi2 benutzt gpio um auf die ports zugreifen zu können. Deswegen habe ich mich im container angemeldet um mal herausgefunden, ob es hier noch ein Problem im docker image geben könnte.
root@99a59f9214c7:/opt/iobroker# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Mär29 ? 00:00:00 /bin/bash /opt/scripts/iobroker_startup.sh
iobroker 369 1 4 Mär29 ? 00:33:35 iobroker.js-controller
iobroker 390 369 0 Mär29 ? 00:03:40 io.admin.0
iobroker 401 369 0 Mär29 ? 00:00:54 io.discovery.0
iobroker 420 369 0 Mär29 ? 00:01:01 io.info.0
iobroker 439 369 0 Mär29 ? 00:01:54 io.rpi2.0
iobroker 754 369 0 Mär29 ? 00:01:16 io.web.0
iobroker 1712 369 0 Mär29 ? 00:07:07 io.sql.0
root 13494 0 0 11:17 pts/0 00:00:00 bash
root 13500 13494 2 11:17 pts/0 00:00:00 ps -ef
root@99a59f9214c7:/opt/iobroker# groups iobroker
iobroker : iobroker tty dialout audio video gpio
läuft also wir erwartet als user iobroker, der auch in der Gruppe gpio ist. Soweit so gut!
Also teste ich mal, ob gpio auch auf der commandline ebene funktioniert und siehe da, es gibt ein Problem mit einer Library:
root@99a59f9214c7:/opt/iobroker# gpio
gpio: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28′ not found (required by /usr/lib/libwiringPi.so)
root@99a59f9214c7:/opt/iobroker#
Kannst Du das in deinem image nachstellen? Ich vermute du hast leider keinen raspi und damit gar keine gpio Möglichkeiten, oder?
Da bin ich nochmal, ich habe mich etwas weiter durchgearbeitet. Von der libc6 ist eine veraltete Version 2.24 installiert.
root@99a59f9214c7:~# ldd –version
ldd (Debian GLIBC 2.24-11+deb9u4) 2.24
Wiringpi braucht für das gpio allerdings 2.28, die ich unter dem image zugrunde liegenden stretch nicht nachinstalliert bekomme.
root@99a59f9214c7:/opt/iobroker# gpio
gpio: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28′ not found (required by /usr/lib/libwiringPi.so)
Hier könntest Du vielleicht weiterhelfen in dem Du entweder die Version 2.28 in Dein Image einbaust oder direkt auf buster umsteigst. Das könnte allerdings auch probleme mit sich bringen.
Die Leute haben ein ähnliches Problem mit einer Flashing Software die auch über gpio arbeitet:
https://github.com/marthoc/docker-deconz/issues/153
Soweit konnte ich dir jetzt helfen?
Habe den Issue bereits in github eingepflegt.
Beste Grüße
Michael
Vllt. kann mir ja hier jemand helfen.
Mein Situation ist das ich den IoBroker mit MACVLAN auf .100 lege und meine DS auf .51 liegt. Das Problem ist aber das auf meiner DS auch mein DNS Server PiHole läuft aber ich kann mit der Console vom IOBroker Container aus nicht die DS bzw. den DNS Server an pingen.
Was dazu führt das IOBroker nicht funktioniert weil dieser eben den DNS Server nicht erreichen kann. Die Lösung bzw. der aktuelle Workaround ist jetzt das ich folgenden Befehl beim Start des IOBroker Containers ausführe „echo „nameserver 8.8.8.8″ > /etc/resolv.conf“ was natürlich unschön ist weil halt gerne alles über den PiHole laufen lassen würde.
Ist es möglich mit MACVLAN die DS einfach zu erreichen? Wäre es sinnvoll den PiHole Container auch mit einen MACVLAN ins Netzwerk zu hängen oder kann ich den dann immer noch nicht erreichen?
Hallo Jonas,
das ist ein vieldiskutiertes Thema im ioBroker Forum Thread. Es gibt dazu verschiedene Lösungsansätze.
Das Problem ist, dass sowohl die .51 als auch die .100 auf ein und der selben physikalischen Netzwerkkarte liegen und sich daher netzwerktechnisch nicht erreichen können.
Möglich wäre, sofern vorhanden, die .100 auf einen andere (zweite) Netzwerkschnittstelle zu legen oder mit einem zusätzlichen Bridge-Netzwerk im Docker zu arbeiten.
Schau am Besten mal in den Forum Thread.
MfG,
André
Hallo,
ich habe leider 3 kuriose Probleme mit dem aktuellen Container.
Dieser läuft bei mir auf einem Raspberry Pi 4 mit 4GB….das sollte soweit kein Problem sein.
Router ist eine Fritzbox.
Die Installation ist „frisch“, es gibt also keine Altlasten im gemounteten Ordner (der war zu Beginn leer).
Problem 1:
Im Hostmode startet der Container nicht
Über die Log des Containers erhalte ich folgende Fehler:
================================== > LOG REDIRECT system.adapter.admin.0 => true [starting],
================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped],
================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging],
Vollständige Log: https://pastebin.com/DSzeYFWH
Problem 2:
Mit einem macvlan ist der Container erst dann erreichbar, wenn ich über seine Console einen Ping auf mein Notebook getätigt habe
– Container fährt hoch
– Container erfolgreich gestartet
– Container nicht unter der macvlan-IP erreichbar (auch nicht per Ping vom Notebook auf Container)
– Container ebenfalls nicht vom Smartphone oder einem anderen Gerät erreichbar (Ist aber erfolgreich in der Fritzbox unter Netzwerke mit seiner IP (192.168.178.12) eingetragen.
– Nun Starte ich über die Container-Konsole einen Ping auf mein Notebook
-> jetzt geht alles.
Macht also den Anschein, also müsste er erstmal ein Lebenszeichen von sich geben, bevor alles funktioniert?!
Ping-Log gibts hier: https://pastebin.com/4qgkPeHY
macvlan-config wurde wie von dir erklärt angelegt:
Subnet – 192.168.178.0/24
Gateway – 192.168.178.1
IP range – 192.168.178.12/32
Problem 3:
Wenn ich dann mal iobroker-Container drin bin (admin-Menü) funktioniert der info-tab-Adapter scheinbar nicht.
Wenn man den Info-Tab anwählt, beginnt alles zu laden, wird aber nie fertig.
Alles andere scheint tadellos zu funktionieren (NodeRed, Javascript-Blockly, vis, telegram, shelly, …)
Hat irgendwer eine Idee zu den genannten Problemen?
ich würde mal portainer installieren, darüber bekommst Du eine einfache Möglichkeit den Container zu managen. ich vermute in problem auf der bridge zwischen container und physischen netz. das sieht man in portainer viel besser, was da vorgeht.
docker run -d -p 9999:9000 –restart always –name portainer -v portainer_data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
ist dann auf port 9999 webinterface erreichbar.
Grüße
Michael
Ist auch eine Anleitung wie ich den ioBroker auf einem Qnap (Docker) zum laufen bekomme?
Die Anleitung ist wirklich gut aber ich bekomme es am Qnap nicht richtig zum laufen…
z.B. Fehlermeldung caught by controller[0]: at instances (/opt/iobroker/node_modules/iobroker.info/main.js:160:26)
Für Hilfe wäre ich sehr sehr dankbar.
Hallo Ralle,
ich würde dir gerne helfen und auch ein entsprechendes Tutorial erstellen, aber solange mir niemand ein QNAP-Nas spendiert kann ich leider keines von Beidem. 😉
Falls du Unterstützung benötigst, würde ich mal im ioBroker-Forum fragen. Ich weiß dass einige meinen Container auch auf QNAP-Geräten im Einsatz haben.
Viel Erfolg.
MfG,
André
Moin Andre,
erst einmal möchte ich mich bei dir für die tolle Arbeit bedanken. Das kann man nicht oft genug tun 🙂
Ich habe aktuell ein Problem, welches ich nicht gelöst bekomme, evtl. hast du oder jemand anders eine Antwort.
iobroker läuft nach deiner Anleitung bei mir mit MACVLAN, mir fiel dann irgendwann auf, dass ich über VPN die Vis und den Admin nicht mehr erreichen kann. Scheinbar gibt es keine einfache Lösung dafür, ich habe in unzäligen Beiträgen ähnliche Probleme und auch Lösungsansätze gelesen, aber das war mir zu frickelig.
Nun wollte ich meinen iobroker Container im Bridged oder Host Mode (wahrscheinlich eher bridged) laufen lassen, aber nach der Netzwerkänderung kann ich gar nicht mehr drauf zugreifen.
Was habe ich versucht, die Netzwerkeinstellungen von MACVLAN auf HOST umgestellt, die üblichen Ports 8081,8082, etc exposed und in einigen iobroker Adaptern von der festen IP (aus MACVLAN) auf Alle IP Adressen hören was glaube ich standard war zurückgestellt.
Hast du eine Idee was ich noch vergessen haben könnte oder falsch gemacht? Evtl. habe ich einen Denkfehler.
Ich danke dir/euch im Voraus!
Hallo Dennis,
hast du mal versucht den Container neu anzulegen? Sonst wüsste ich so ohne Logfiles und Fehlermeldungen auch nicht wo es klemmen könnte.
Wenn es mit dem Neuanlegen des Containers nicht klappt, dann melde dich am Besten mal im Forum Thread mit Logfile und ausführlicher Beschreibung. Die Kommentare hier sind für diese Art von Support leider eher schlecht geeignet.
BTW: Warum auf MACVLAN verzichten? Ich vermute mal dein Problem ist, dass du dein VPN auf der DS hast und daher nicht auf den ioBroker am MACVLAN zugreifen kannst?
Hast du mal die Lösung mit zusätzlichem Bridge Netzwerk gesehen? Du musst dann zwar im VPN über eine andere IP auf vis und admin zugreifen, aber das sollte ja eigentlich nicht das Problem sein.
MfG,
André
Ja ich lasse OpenVPN über die Synology laufen. Meinst du MACVLAN und dann zusätzlich dem eigenen Bridged Network joinen? Über eine andere IP zugreifen wäre nicht schlimm.
Genau, ein zusätzliches Bridge Netzwerk (am Besten selbst erstellt!) dazu und dann kannst du vom Host den ioBroker im Container über die IP im Bridge-Netzwerk oder den Namen erreichen.
MfG,
André
Das Bridge Netzwerk aus deiner Anleitung habe ich bereits. Das habe ich dann dem Container hinzugefügt, so dass er MACVLAN und das eigens erstellte Bridge Netzwerk. Ein Zugriff über OpenVPN funktioniert trotzdem nicht, egal welche IP oder Name. Vielleicht sollte ich den gesamten Host mal neu starten. Oder es liegt an einer OpenVPN Einstellung auf dem Client am Handy.
Danke für deine Hilfe.
Gruß
Dennis
Hallo Dennis,
da kann ich mangels Erfahrung in dieser Richtung nur wenig zu sagen. Wenn du aus der Kommandozeile der DS den Container erreichst und umgekehrt (z.B. per ping) dann stimmt die Konfig mit dem Bridge Netzwerk schon mal. Wie das dann in Sachen VPN und Routing eingerichtet werden muss kann ich dir leider nicht sagen. Hast du dazu mal im Forum gesucht/ gefragt? Ich meine es gibt Leute die das so nutzen.
MfG,
Andre
Hi Andre,
ja im Forum bin ich auch bereits unterwegs. Ich habe jetzt nochmal die Variante VPN über Fritzbox getestet, damit komme ich auf iobroker rauf. Vielleicht bleibe ich dann einfach dabei.
Gruß Dennis und ich danke dir.
So hab ich es auch. 🙂
MfG,
André
Hallo Dennis,
das Problem ist sehr einfach zu lösen, zumindest wenn du an deiner Synology mehrere LAN-Ports hast.
Der Port für das MACVLAN muss ein anderer sein, als der, den der Docker-Container nutzt.
Ich brauchte nichtmal den Container neu installieren. Einfach ein neues Netzwerk nach Anleitung erstellt, aber eben nicht LAN-Port1, sondern Port2 gewählt. Danach im Container das Netzwerk löschen und das neue zuweisen. fertig.
Hallo,
ich habe das upgrade auf V3 nun ohne automatische Datenübernahme durch eine Neuinstallation nach dieser Anleitung erfolgreich durchgeführt. Soweit auch ganz prima.
Nun möchte ich auf meiner DS218+ erstmalig einen Zigbee-Stick (CC2531) nutzen, scheitere aber an dem Durchreichen in den Container.
Die einzige Anleitung die ich gefunden habe und auch einige Threds im ioBroker-Forum realisieren das mit docker -compose. Kann ich das nicht aber auch in den Containereinstellungen unter „Volume“ ähnlich dem iobroker_data-Verzeichniss einrichten? Müsste ich dazu ein Spiegelverzeichnis im Container für das /dev/ttyACM0-Verzeichnis anlegen?
Vielen Dank für die Unterstützung,
Anni
Hallo Anni,
schau mal hier: USB Devices im ioBroker Docker Container nutzen
MfG,
André
Wie bekomme ich die node.js geupdated? ich bekomms mit div anleitungen die ich gefunden habe nicht hin. hat jemand eine die funktioniert mit ibroker auf syno docker. danke
Hallo Stefan,
node ist ja bereits im Image erhalten. Wenn du updaten willst, lade einfach eine aktuelle image-Version, erstelle den Container neu und du bekommst die aktuelle node-Version. Vorsicht ist nur geboten wenn du dabei die Major-Node-Version wechselst. Also z.B. von node 8 auf node 10. Näheres dazu hier: https://github.com/buanet/docker-iobroker/blob/master/README.md.
MfG,
André
Hallo,
wie kann ich den Hostname im Docker dauerhaft umbenennen? Jedesmal wenn der Docker neustartet stehen als Hostname diese Zeichenabfolge „a394c6d6b3b6“.
Vielen Dank für Deine Mühe die Du hier Investierst.
Viele liebe Grüße
Mathias
Hallo Mathias,
eigentlich solltest du deinem Container beim Erstellen über Portainer einen Hostnamen mitgeben können. Der ist im Normalfall auch „restartfest“. Hast du dort was eingetragen? Siehe 4. Screenshot unter „Neuen Docker-Container erstellen“.
MfG,
André
Hallo André,
vielen Dank für deine Antwort. Ja, ich habe dort den Hostname eingetragen – einziger unterschied zu deiner Anleitung ist bei mir der Aufbau des macvlan da ich in diesem drei IP-Adressen und zwei MAC-Adressen vergebe so das ich aus ioBroker auch die NAS erreichen kann.
Kann ich den Hostname noch anders „restartfest“ machen?
Grüße
Mathias
Hallo Mathias,
ich kann das aktuell nicht so recht bewerten. Kann mir unter deiner MACVLAN-Lösung nichts vorstellen. Eventuell ist das der/ ein Grund. Fest steht, dass der Hostname eigentlich vom Startscript geprüft und bei Bedarf korrigiert wird. Wenn das bei dir nicht klappt kannst du gerne mit ein paar mehr Details zu deiner Konfiguration und dem Container-Log einen Issue bei Github eröffnen. Dann schau ich mir mal an was da schief läuft.
MfG,
André
Guten Abend André,
also ich habe den Container nun nochmals neu erstellt und explizit darauf geachtet das an der besagten stelle der Hostname eingetragen wird. Nachdem erstellen habe ich die DS neugestartet und was soll ich Dir sagen – Der Hostname bleibt erhalten. Ich werde das weiter beobachten, entweder habe ich es bei der erst Konfiguration vergessen oder an einer anderen Stelle ist etwas schiefgelaufen.
Was mir bei dem neuanlegen des Container aufgefallen ist – Das die ENV-Varibale REDIS bei true immer den Port und die IP der DB auf true setzt => somit startet der ioBroker nicht mehr. Ich habe dann versucht über die Console und „iobroker setup custom“ die Sachen manuell nachzutragen, was auch funktioniert aber bei einem Neustart des ioBroker werden diese wieder mit true überschrieben! Oder müssen IP + Port von REDIS auch in die Environment Variables geschrieben werden.
Nochmal zu meinem macvlan Netzwerk – Ich habe es so Konfiguriert das eine direkte Kommunikation zwischen ioBroker und Docker-Host möglich ist => einzige unschöne Sache dabei ist, die DS hört nun auf zwei IP-Adressen. Mit Deiner Konfig war das nicht möglich.
An der Stelle nochmals vielen lieben Dank für Deine Hilfe und deine tolle Arbeit.
Viele Grüße
Mathias
Hallo Mathias,
schön dass es geklappt hat.
Was Multihost und Redis angeht, vergiss die ENV „REDIS“ wieder. 🙂 Das war eine Übergangslösung (sie darf aber auch nicht „true“ sein sondern muss „hostname:port“ enthalten).
Trotzdem lieber vergessen und einen Blick in die aktuelle Beta werfen (hier die Readme.md dazu). Bei den ENV gibt esein paar neue Parameter, sowohl für Objects-, als auch für States-DB. Teste ich gerade ein wenig mit rum….
Zu MACVLAN vermute ich mal, dass du zwei physische Netzwerkadapter benutzt? Falls nicht, verstehe ich es immer noch nicht. 🙂 Was aber geht und bei mir so läuft ist, dem ioBroker-Container zusätzlich ein selbst angelegtes Bridge-Netzwerk hinzu zu fügen. Dann kannst du aus dem Container heraus die DS über das Gateway im Bridge Netz ansprechen. „Dirty but works“…
MfG,
André
Hallo André,
zu meinem Netzwerk:
– die DS läuft im Netzwerk link Aggregation Modus => also nutze ich ein Bond0
– im Portainer/SSH lege ich ein Macvlan mit drei IP Adressen an davon reserviere ich mir die erste Adresse => da es über Portainer probleme mit der Resevierung gibt habe ich es über SSH mit den Docker angelegt.
– der Adressbereich + Subnetz beziehene sich auf mein lokales Netzwerk
– damit die Container und die DS nun miteinander reden, habe ich auf der DS auch ein virtueles Netzwerk angelegt, welches ich mit dem Aufgabenplaner starte, weil es nach jedem Neustart weg ist.
– das virtuelle Netzwerk auf der DS bekommt die reservierte IP-Adresse des macvlan vom Docker, desweiteren wird läuft das macvlan und das virtuelle Netzwerk im Bridge Mode und die IP-Route wird hier noch festgelegt.
Wie gesagt einziger Nachteil ist das die DS dann auf zwei Adressen hört. Im ioBroker ist dann die reservierte IP des macvlan die der DS.
Es müssen dann natürlich die genutzten IP Adressen im DHCP-Server reserviert werden 😉
Also wie Du schon sagtes „Dirty but works“
Sag bei Deinem Bridge Netzwerk habe ich da auch die Möglichkeit mehrere IP-Adressen aus dem lokalen Netzwerk zuvergeben oder nutzen dann die Container die IP Adresse der DS?
Viele Grüße
Matze
Hallo Matze,
also das zusätzliche Bridge Netzwerk hat dann einen eigenen Addressbereich der auch nur intern erreichbar ist…
Beispiel:
Du hast von extern (Heimnetz) eine Adresse für die DS (z.b. 192.168.10.5) und eine für den iobroker im MACVLAN (z.B. 192.168.10.100). Der ioBroker hat dann im zusätzlichen Bridge Netz noch eine (interne) IP-Adresse (z.B. 172.18.0.4) das Gateway im Bridge Netz (172.18.0.1) ist immer der Host (in dem Fall die DS).
Möchtest du jetzt vom ioBroker zur DS kommunizieren geht das z.B. per „ping 172.18.0.1“. Möchtest du von der DS zum ioBroker kommunizieren geht das z.B. per „ping 172.18.0.4“. Alles intern, innerhalb der DS.
Wenn du das Bridge Netzwerk selbst anlegst und nicht das Default nimmst, dann funktioniert sogar DNS und du kannst die systeme per namen ansprechen.
MfG,
André
Hey André,
das mit dem Bridge-Netzwerk werde ich bei Gelegenheit mal probieren 😉
Danke für die Erklärung 🙂
MfG
Matze
Hallo,
seit ein paar Tagen erhalte ich bei dem Versuch die Adapter zu aktualisieren, folgende Fehlermeldung im Log.
warning: empty repo received!
warning: Cannot read http://download.iobroker.net/sources-dist-latest.json
Habt ihr einen Tipp, wie ich das beheben kann?
Vielen Dank im Voraus.
Liebe Grüße,
Christian Fiedler
Hallo Christian,
das ist die perfekte Frage für eine Suche im ioBroker-Forum.
Ist eine gängige Fehlermeldung wenn etwas mit dem Repo nicht stimmt. Das ist weder Docker- noch Synology-spezifisch.
MfG,
André
Guten Abend,
bisher habe ich noch keine Lösung im Forum gefunden.
Aus reiner Verzweiflung habe ich einen neuen ioBroker unter Docker aufgesetzt.
Dieser hat vom Start weg den gleichen Fehler!?
???
Liebe Grüße,
Christian
Hallo Christian,
kommst du von deinem Container vielleicht nicht ins Internet? Mach doch mal einen Ping auf 8.8.8.8 und/ oder auf google.de
MfG,
André
Doch. Das geht.
Vielen Dank für deine Anleitung,
die V2 läuft bei mir immernoch 1A. Wollte jetzt einem Bekannten die neue Version installieren, bei Erfolg dann ebenfalls umsteigen und daran scheitert es schon….
– Docker ist installiert
– Portainer ist installiert
– in Portainer bei Netzwerk muss ich ja nichts einstellen, da ich den „host“ Mode nutzen möchte
– Container installieren…
– bei Volumes, auf + , dann auf Bind und die Pfade eingeben, /opt/iobroker und /volume1/docker/iobroker_data
– Network, noch host auswählen
– er installiert auch alles soweit, aber ich komme einfach nicht auf den ioBroker drauf
IP der DS 192.168.178.12
Fritzbox 192.168.178.1
wo genau liegt mein Fehler?
Danke schonmal 🙂
Hallo Steff,
sorry, aber ich habe meine Glaskugel gerade nicht dabei…
Mit deinen Angaben kann ich dir leider nicht helfen. Es ist ja schön wenn du mir die einzelnen Schritte beschreibst, aber die könnte ich ja theoretisch auch im Tutorial nachlesen…
Wenn du Probleme beim Aufsetzen hast dann brauche ich schon etwas mehr Informationen. Das fängt an mit dem verwendeten System und der verwendeten Oberfläche (du redest davon, dass du Erfahrungen mit v2 hast, hast aber hoffentlich gemerkt, dass seitdem ne Menge passiert ist und sich das Tutorial grundlegend verändert hat), geht weiter über die Info ob du das Tutorial wirklich Schritt für Schritt durchgeführt hast und endet bei der Angabe von auftretenden Fehlermeldungen und Ausgaben im Log.
Des Weiteren eignen sich die Kommentare hier nur begrenzt für ausführlichen Support. Im ioBroker-Forum hast du bessere Möglichkeiten Screenshots oder Logausgaben zu deinen Fragen hinzuzufügen. Ich würde dich daher bitten hier einmal vorbei zu schauen und deine Fragen nochmal mit etwas mehr Details zu stellen. Danke.
MfG,
André
mit den Schritten hatte ich die Absicht genau das zu sagen, dass ich Schritt für Schritt vorgegangen bin….
Fehlermeldungen gab es bei mir keine, ok das Log hätte ich posten können, mehr habe ich dann leider auch nicht.
Das System: DS2419+ und eine DS412+ (soll später auf beiden laufen) das Problem besteht derzeit auf der DS2419+, DSM Version und Apps auf dem aktuellen Stand.
Bezüglich V2, ist mir klar das sich viel geändert hat, wollte nur sagen, dass ich wenigstens die Version damals zum laufen gebracht habe….
Alles weitere, bzw. die gleichen Infos dann nochmal im Forum
Danke
Gruß
Steff
Vielen Dank für Deine Anleitungen, sie sind sehr informativ!
Leider stosse ich an einer Stelle auf folendes Problem:
beim Schritt „Create Container – Map additional Volume“
steht zu Beginn der letzten Zeile bei mir nicht „host“ sondern „volume“.
ich kann kann im darauffolgenden Feld nichts eintragen ( laut deinem Beispiel /volume1/docker/iobroker_data)
sondern nur auswählen.
Alle gelisteten Optionen bestehen aus einem langen String beendet mit -local
zB: 52cf6cd8f7b85…-local
(der string ist in dem Auswahlmenue länger, enthält aber auch „…“ vor dem -local)
diese Bezeichnung finde ich weder auf der DSM Oberfläche, noch auf der Comandline der DS.
Irgendwelche Ideen dazu?
Vielen Dank und liebe Grüße Katja
sorry hab die Antwort selbst gefunden:
neben dem 1. Auswahlfeld: „container – /opt/iobrocker“ muss „Bind“ ausgewählt sein, dann ändert sich die 2. Zeile auf host
Hallo Katja,
freut mich dass du es herausgefunden hast. Habe es gerade nochmal gecheckt. Steht eigentlich auch so im Tutorial:
„Durch Klick auf „map additional volume“ erscheinen zwei neue Felder. Im ersten Feld tragen wir den Pfad innerhalb des Containers (/opt/iobroker) ein und wählen anschließend den Button „Bind“. Im zweiten Feld tragen wir den lokalen Pfad auf der DS ein. Dieser sollte natürlich „Writeable“ (beschreibbar) sein.“
Oder kann ich es irgendwie deutlicher machen? Danke für dein Feedback.
MfG,
André
Hallo,
obwohl ich mich streng an die Anleitung gehalten habe, scheint mein ioBroker nicht zu starten. Das Log endet mit „Starting ioBroker…“ (auch nach 45 Min. ändert es sich nicht) und unter Stats sind nur 2 Prozesse zu sehen. Im Log sind auch zwei Fehlermeldungen wegen eines „Einstelligen Operators“ zu sehen:
/opt/scripts/iobroker_startup.sh: Zeile 169: [: !=: Einstelliger (unärer) Operator erwartet.
/opt/scripts/iobroker_startup.sh: Zeile 192: [: 8081: Einstelliger (unärer) Operator erwartet.
Die zwei Prozesse:
root 22854 22838 0 21:11 ? 00:00:00 /bin/bash /opt/scripts/iobroker_startup.sh
root 23521 22854 0 21:12 ? 00:00:00 tail -f /dev/null
Ist es richtig, dass im Log steht: „System arch: x86_64“? Die Synology ist doch kein x86-Rechner?
Hat jemand eine Idee?
Gruß
Anni
(ich kann leider nur eine Kleinigkeit beitragen, da ich ioBroker noch nicht starten kann.)
„System arch: x86_64“ ist richtig. Viele DS enthalten eine Intel x86 CPU, manche auch eine ARM
Hallo Anni,
teste mal die Beta-Version. Habe da was an den Aufrufen im Startscript verändert. Vielleicht sind deine Fehlermeldungen damit weg…
Was die Architektur angeht, da gibt es verschiedene Pozessoren in den DiskStations. x86_64 heißt 64bit, das ist eigentlich der heutige „Standard“. Mit Arm Prozessor sollte das Image auch laufen. Es gibt meines Wissens Modelle mit Arm-Prozessor, aber da gibt es wohl kein Dockerpaket oder zumindest ist mir da nichts bekannt.
x86 wäre 32bit. Dafür habe ich aktuell kein Image gebaut. Habe bis jetzt aber auch noch nicht gehört, dass es da Bedarf gibt.
Je nachdem Welche DS du hast ist x86_64 schon korrekt. Andernfalls würde dein Container gar nicht erst starten… bzw könntest du das Image schon gar nicht so einfach herunterladen.
MfG,
André
Hallo,
danke für die ausführliche Anleitung, damit habe ich auch als Nicht-Linuxer sehr viel verstanden.
Leider wird die Installation im Host-Modus nur ein mal angesprochen. Habe ich es richtig verstanden, dass ich damit das gesammte Kapitel „Vorbereitungen für MACVLAN“ vollständig ignorieren kann?
Noch eine zweite Frage: Ich habe einen laufenden ioBroker im Docker aus der alten Anleitung am laufen. Ich würde nun gern einen zweiten neuen Container nach der neuen Anleitung parallel bauen um den alten nicht anzutasten. Ist das eine Gute Idee? Portprobleme sollten doch nicht auftreten, solange ich immer nur Einen laufen lasse, oder?
Gruß
Anni
Ohh, ich sehe gerade, dass im vorherigen Post Infos dazu zu finden sind, prima.
Bleibt also erst mal nur die erste Frage offen.
Hallo anni, ich kann nicht zu 100% sagen ob es richtig ist MCVLAN außer acht zu lassen, aber ich habe im host modus installiert und es außer acht gelassen.
Das ist richtig. Entweder man betreibt den Container im Host Modus oder mit MACVLAN.
MfG,
André
Super, danke euch beiden.
Vielleicht könnte man für andere Anfänger, wie mich, am Anfang des Kapitels in Klammern setzen: „Kann im Host-Modus übersprungen werden.“
Gruß
Anni
Hallo Andre,
da sich nun manche Adapter nicht aktualsiseren lassen weil sie eine Version 2.00 des JS. controllers oder höher benötigen. Muss ich wohl oder über updaten 🙂 (Hab mich bisher gedrückt.)
1. Ich habe meine INstalltion dank deiner Tollen Anleitung zu deinem Docker Image V2.0.0 am laufen. Inlusive der von Dir beschriebenen Vorgehensweise der Datenausgliederung und des Backups.
2. Nun stehe ich zugleich vor mehrere Fragen die ich nicht selber ganz durchblicke.
1. Wenn ich auf eine höhere Version deines Docker Images will, kann ich dann mit dieser Anleitung hier auf Version 3 (oder welche Unterversion ) oder auf 4? Wenn ja auf welche 4er Version?
2. Du Schreibst: Hinweis: Eine Datenübernahme kann nur glücken wenn die Major-Node-Version übereinstimmt! Arbeitet auf dem Quellsystem noch eine ältere Node-Version, solltet ihr diese vor dem Umzug hochrüsten. Für den Container ab Version 4 auf node10. Auf meine Synology ist Node.js v8 Installiert. Die Commandozeile des Conatainers sagt 8.14.
Wie bekomme ich denn die Version auf 10? Denn die Syno bietet nur v12 an. Und dies 12 soll laut einem anderen Forum wohl noch nicht so stabil sein wenn man IO Broker in der akteullen Version betreiben will.
3. Ich versuche vor dem INstallieren deiner Version 3 / 4 den js.controller upzudaten. Der ist bei mir noch auch 1.4 Das gelingt jedoch nicht per commandozeile. Das update schlägt fehl weil er angeblich Dateien findet die erst dort entfernt werden sollen ?!?!? Oder muss ich für mein Vorhaben den js.controller nicht updaten bevor ich dein Image installiere und danach die Daten der aktell laufenden Version rüberkopiere?
Danke vielmals.
Hallo Sascha,
das Wichtigste vorweg: Wenn du updatest, dann auch gleich auf die aktuellste (sprich latest) Version. Alles Andere macht in meinen Augen wenig Sinn.
Im Grunde ist das Update auch problemlos möglich. Allerdings gibt es etwas Wichtiges zu beachten wenn du die Major-Node-Version wechselst. Wie bei dir von Node 8 auf Node 10 (im aktuellen latest-Image).
Zum Thema Node-Upgrade gibt es auch was in der offiziellen ioBroker-Doku. Im Prinzip musst du einfach nach dem Aktualisieren des Containers (inkl. Node-Update) deine ioBroker-Installation für die neue Version kompilieren. Das geht entweder per „npm rebuild“ oder auch per „reinstall.sh“. Zu diesen Stichworten solltest du auf jeden Fall fündig werden.
Übrigens: Löse dich unbedingt von den Gedanken über die Node-Versionen auf deiner DiskStation. Die sind absolut nicht relevant! Alles was der ioBroker benötigt ist im Docker-Image enthalten, auch die Node-Version!!!
In deinem Fall würde ich ungefähr so vorgehen: Alten iobroker stoppen, ioBroker-Verzeichnis auf der DS duplizieren, neues Image laden (Achtung, wenn du in V2 beim Erstellen über latest gegangen bist, nehme einfach den direkten Versions-Tag vom neuen Image, aktuell v4.1.0, zwei unterschiedliche latest auf einem System gehen nicht), Neuen/ zweiten ioBroker-Container erstellen und dupliziertes Verzeichnis mounten, Im neuen Container Kommandozeile aufrufen „pkill io“ und dann ioBroker neu kompilieren (npm rebuild oder reinstall.sh), anschließend neuen Container neu starten und schauen ob alles geht. Falls nein kannst du einfach den neuen container stoppen und den alten wieder anwerfen. Falls alles geht, kann alles Alte weg. Wenn du dann noch magst kannst du auch den neuen nochmal löschen und dann mit dem latest-Image nochmal neu erstellen. Bei Fragen empfehle ich dir den ioBroker-Forum Thread. Dort wurde das Vorgehen bei Update auch schon mehrfach diskutiert, einfach mal suchen… Viel Erfolg.
MfG,
André
Hallo Andre, hie rmal zunächst eine Rückmeldung an Dich und alle mit ähnlichem Problem. Ich habe geschlagene 6 Studen alle smögliche probiert um es so hinzubekommen. Leider vergebens. Am Ende gab es immer Fehler beim NPM Rebuild oder der Hostname konnte an bestimmten stellen des Vorgehen nicht mehr aufgelöst werden (commandozeilen rückmeldung), oder es schien bis auf wenige fehler alles zu klappen, dann scheiterte es aber daran das ich die js.contoller version dann nicht mehr updaten konnte. Fehlermeldungen bis zum umfallen. Da ich das Hauptptoblem in der „zu großen“ Differenz, zwischen meiner Conatiner Verision 2.0 zu 4.1 und meiner veralteten 1.44 js. controler Version im Kontext zu den „inkompatiblen“ node versionen 8 und 10, gesehen habe, habe ich mich dann entschieden , das ganze in zwei Schritten zu tun.
1. Alles wieder auf meinen Ausgangszustand zurück und dann mal mit Conatiner Verison 3.1 anstatt 4.1 versuchen, denn in 3.1 ist ja noch die 8er node Version drin.
2. Wenn dort dann alles läuft auf 4.1 „migrieren“.
Also Punkt 1 habe ich gemacht und siehe da. Beim zweiten Anlauf hat offenbar alles geklappt.
Zumindest habe ich keine Fehlermeldungen mehr bekommen und konnte dann auch den js.controller auf 2.2.8 anheben. So weit so gut. Das werde ich jetzt erstmal laufen lassen und beaobachten ob nach allen Dingen die ich gemacht und aktualisiert habe alles fein läuft.
Punkt 2 folgt dann späte rund ich werde berichten.
PS: Ich habe eine Auffällgkeit von der ich laienhaft glaube das da was falsch gelaufen ist, aber mir nicht siche r bin.
Also meine DS hat den hostnamen Black_Beauty.
Meine alte ioborker INstallation (im Host Modus) hatte den Hostnamen iobroker.
Die neue Installtion hatte zunächst auch den Hostnamen iobroker.
Aber nach allen Fixer Durchläufen und dem npm rebuild war dann der Hostname meiner IObroker installation auch Black_ Beauty (Neue Installtion läuft auch im Host Modus)
Soll das so oder ist da aus Deiner / Eurer Sicht was falsch gelaufen?
Der Befehl in der Commandozeile mit dem man den Hostnamen setzen kann, (ich glaube es war iobroker is host, oder so ähnlich) funktionierte ab diesem Zeitpunkt auch nicht mehr.
Viele Grüße!
Sascha
Hallo Sascha,
wenn der Hostname deines ioBrokers nicht mehr stimmt, dann sollte ein restart des containers genügen. Das Startscript schaut eigentlich immer ob der Hostname zum im Container konfigurierten Hostname passt und zieht den bei Bedarf gerade.
Was deine Probleme beim rebuild angeht, so ist bekannt, dass es im host Modus immer wieder Probleme gibt. Das liegt aber leider am Docker Paket für die Synology. Auf anderen Systemen gibt es nicht so viele Probleme. Eine mögliche Abhilfe ist, für Befehle wie „npm rebuild“ einen Container im Bridge Modus zu erstellen. Nachdem alles erledigt ist, einfach wieder auf einen Container im Host Modus wechseln… damit umgeht man eigentlich die sudo und hostname Probleme…
…das ist übrigens auch der Grund, warum ich mich weitestgehend vom Host modus verabschiedet habe und ihn im Tutorial auch nur noch erwähne. Es gibt leider einfach zu viele Probleme.
MfG,
André
js-controller Update geht mit folgender Anleitung nicht:
https://buanet.de/knowledge-base/steuerung-iob-ueber-kommandozeile/
Hi, ich bekommen den js-controller nicht geupdatet.
In der Console des iobroker Containers gebe ich folgende befehle ein:
1. pkill io
2. iobroker update
dann folgt die Meldung:
/usr/bin/iobroker: Zeile 1: /node_modules/iobroker.js-controller/iobroker.js: Datei oder Verzeichnis nicht gefunden
kann mir bitte jemand dabei helfen?
Hallo,
leider fehlen mit wichtige Details. Wie und wo führst du das aus? Welche Versionen (node, npm, js-controller) hast du im Einsatz? usw…
Vielleicht bist du mit deiner Frage hier besser aufgehoben. Könnte mir auch gut denken, dass du deine Antwort auch schon im Forum finden kannst. Der Fehler sieht mir sehr allgemein aus…
MfG,
André
Ich habe deine Installation V3 auf einer DS218+ laufen.
Die Befehle gebe ich in der Console vom Portainer / iobroker-container ein.
Ebenso habe ich deinen Container auf die neuste Version aktualisiert.
Node v10.18.1
NPM 6.13.4
Mit der Suchfunktion im Iobroker-Forum finde ich leider auch nichts passendes
Hallo,
hast du deine Frage mal im Forum gestellt? Die Kommentare eignen sich nicht so wirklich für Support.
Wenn er anmeckert, dass er die Datei iobroker.js nicht finden kann, hast du sicher schon mal geschaut ob diese vorhanden ist? Sorry, aber so kommen wir nicht weiter.
Wenn irgendwo der Wurm drin ist, dann kann man eine Installation gut mir „npm rebuild“ wieder glatt ziehen. Vielleicht hilft das als Stichwort…
Falls das nicht reicht und du es noch nicht getan haben solltest, stell deine Frage mal im ioBroker-Forum….
MfG,
André
Hallo,
ich habe aktuell ebenfalls das Problem. Aktuell läuft Node.js v10.18.1. Wie bekomme ich das Update auf die v10.19.0 hin?
Liebe Grüße,
Christian
Hallo Christian,
wenn du nur innerhalb der v10 aktualisieren willst, dann einfach den Container löschen, Image neu laden und Container neu erstellen.
Alternativ: Im Portainer den Recreate Button nutzen und „pull latest image“ aktivieren.
MfG,
André
Danke. Im zweiten Anlauf hat es funktioniert.
Hallo André, vielen Dank für die super Anleitung!
Bei mir läuft das ganze nun auf einem QNAP TS251+.
Ich hätte lediglich eine Frage. Wie bekomme ich es hin, dass der ioBroker-Container automatisch startet?
Viele Grüße,
Christian
Hallo Christian,
im Normalfall übernimmt das der Docker Daemon der auf deinem System läuft automatisch und startet alle Container die vor dem Neustart auch liefen. Alternativ kannst du einen „docker run“ Befehl auch über einen Cronjob laufen lassen. Wie genau das Thema bei QNAP behandelt wird, kann ich dir leider nicht sagen.
MfG,
André
Vielen Dank für den Hinweis. Ich konnte das Problem lösen.
Hallo André,
ich habe den iobroker nach Deiner schönen Anleitung promt zum laufen bekommen – vielen Dank dafür!
Jetzt wollte ich noch zusätzlich meinen pihole als Docker-Container laufen lassen, und wollte dafür ein zusätzliches MACvLAN einrichten. Durch viel Ausprobieren habe ich jetzt 3 MACvLAN_confs, die nicht mehr gelöscht werden können. Es heißt immer, sie wären „in use“. Ich habe aber noch keine Container dafür in Verwendung, und noch nicht mal die eingerichteten Networks (deren Einrichtung wurde jeweils mit Fehlermeldung abgebrochen, da die IP-Adresse des Gateways angeblich schon in Verwendung war). Ich weiß nicht mehr weiter. Auch der Befehl „docker network prune“ hilft nicht. Und „docker network rm [network-ID]“ behauptet, das das Netzwerk verwendet wird. Ich finde im Netz nix dazu – oder verstehe es nicht…
Und koplett alles resetten wegen dem Schönheitsfehler wollte ich auch nicht. So, genug herumgejammert: BITTE HILF!
LG Josef
Hallo Josef,
das habe ich im Forum Thread schon mal gelesen. Man kann das irgendwie löschen indem man eine Datei löscht/ umbenennt. Müsstest du dort mal suchen.
MfG,
André
In welchem Forum soll ich denn suchen? Und allgemein gefragt: wo im Portainer lässt sich eine Netzwerk-CONFIG ändern?
Hallo Josef,
schau mal unter „Links und Ressourcen“ (werde das gleich mal noch ergänzen). Dort habe ich den Support-Thread im ioBroker-Forum zu diesem Tutorial verlinkt. Dort gab es das Problem mit dem Löschen auch schon mal. Und auch die erwähnte Antwort dazu. Ich selbst hatte damit noch keine Probleme…
Ändern kann man bei Docker relativ wenig. Hier gilt es fast immer zu Löschen und neu anzulegen. So auch bei den Networks.
MfG,
André
Hi Josef, hast Du das Problem zufällig gelöst? Ich habe genau das selbe Problem, „orphaned“ networks, die sich nicht mehr entfernen lassen wegen „in use“ – trotz docker system prune. Im Supportforum finde ich auch keinen entsprechenden Beitrag. Für einen Tipp, falls Du oder jemand anderes dahinter gekommen bist, wäre ich Dir hier sehr dankbar.
Danke für die Anleitung. Das hat soweit (fast) problemlos funktioniert. In dem Container wird iobroker leider nicht gestartet. Es scheint sich dabei um das host-problem zu handeln, dass Du auch im letzten Jahr bereits mit diskutiert hattest. Dies ist der Status direkt nach dem klick auf „deploy container“.
Hast Du eine Idee wie man das fixen kann?
Mein Log zeigt am Ende folgendes:
Starting ioBroker…
host.Diskstation check instance „system.adapter.admin.0“ for host „Diskstation“
host.Diskstation check instance „system.adapter.discovery.0“ for host „Diskstation“
host.Diskstation check instance „system.adapter.info.0“ for host „Diskstation“
(node:1020) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got „H“ as reply type byte. Please report this.
at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15)
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14)
(node:1020) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1020) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:1031) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got „H“ as reply type byte. Please report this.
at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15)
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14)
(node:1031) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1031) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:1042) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got „H“ as reply type byte. Please report this.
at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15)
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14)
(node:1042) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1042) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Hallo Hannes,
schau mal hier im ioBroker-Forum. Habe das Thema gerade mit Johannes. Gleiche Fehlermeldung. Allerdings konnte ich das Verhalten bisher nicht reproduzieren und kann daher (noch) nicht sagen woran das liegt…
MfG,
André
Hallo und vielen Dank für die tolle Anleitung. Ich habe Portainer problemlos auf meiner DS218+ zum laufen bekommen, habe nun aber ein Problem bei der Erstellung des iobroker Containers. Ich kann in den Einstellungen kein Volume auswählen. In Menü steht nur local. Der Punkt Host ist nicht wählbar, demnach auch kein lokales Verzeichnis auf der DS. Hast Du eine Idee wo hier das Problem liegen könnte?
Hallo Christian,
klicke mal neben dem „/path/in/container“ mal auf „bind“. Dann kannst du den Pfad deines Verzeichnisses auf dem Host im Feld darunter eintragen.
MfG,
André
Hallo Zusammen,
erstmal herzlichen Dank an André!
Leider klappt bei mir die Installation auf der DS218+ mit aktuellem DSM nicht problemlos. Ich bekomme folgende Fehlermeldungen (s.u.) im Log. Der iobroker Container läuft, iobroker ist aber nicht über das Webinterface zu erreichen. Ich möchte den Container in der Netzwerkumgebung meiner DS betreiben, also ohne MACVLAN.
Ich würde mich sehr freuen wenn ich hier hilft finden würde.
Mit den besten Grüßen
Johannes
…
————————————————————,
—– Step 5 of 5: ioBroker startup —–,
————————————————————,
,
Starting ioBroker…,
,
host.Graf_D check instance „system.adapter.admin.0“ for host „Graf_D“,
host.Graf_D check instance „system.adapter.discovery.0“ for host „Graf_D“,
host.Graf_D check instance „system.adapter.info.0“ for host „Graf_D“,
(node:378) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got „H“ as reply type byte. Please report this.,
at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15),
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14),
,
(node:378) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1),
(node:378) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.,
,
(node:389) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got „H“ as reply type byte. Please report this.,
at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15),
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14),
,
(node:389) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1),
,
(node:389) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.,
,
(node:400) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got „H“ as reply type byte. Please report this.,
at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15),
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14),
,
(node:400) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1),
(node:400) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.,
,
Hallo Johannes,
leider kann ich allein mit dem Logauszug nicht sagen was da los ist, denn alle relevanten Debuginformationen spuckt das Log ja bereits vor „Starting ioBroker“ aus…
Wenn ich den Fehler google, finde ich viele Einträge die sich mit dem js-controller beschäftigen. Denke da wird der Hund begraben liegen.
Hast du einen leeren Container aufgesetzt oder verwendest du eine Installation die du einbindest? (Diese Information würde für mich z.B. aus dem abgeschnittenen Logteil bereits hervorgehen)
Und was meinst du mit „in der Netzwerkumgebung deiner DS betreiben“? Egal welchen Netzwerkmodus (Bridge, Host, MACVLAN) du verwendest, der ioBroker befindet sich immer in der Netzwerkumgebung deiner DS…
Leider sind die Kommentare hier nicht besonders gut geeignet um Logs oder Screenshots zu posten. Daher schlage ich vor, du stellst die Frage einmal im ioBroker-Forum-Thread und postest dort mal das gesamte Log vom Container start.
MfG,
André
Hallo André,
danke für deine Antwort. Wie du empfohlen hast habe ich mich im ioBroker Forum angemeldet und da den kompletten Logfile angehängt.
Danke für deine Antwort!
scheint bei mir exakt das gleiche Problem zu sein. Auch DS 218+ mit host-Netzwerk. Hab meinen Kommentar gepostet bevor ich Deinen gesehen habe.
Hallo zusammen,
ich habe folgendes Problem und hoffe ihr könnt mir helfen:
Seit geraumer Zeit läuft auf meiner DS918+ der iobroker in einem Docker Container. Dieser wurde von mir nach der hier veröffentlichten (alten Anleitung) eingerichtet und läuft bislang tadellos.
Leider ist die Performance meiner DS – aus mir unerklärlichen Gründen – unterirdisch schlecht, wenn der Dockercontainer aktiv ist und ist somit für jeglichen anderen Aufgaben unbrauchbar. iobroker läuft, aber ich kann alle anderen Funktionen meiner DS leider nicht mehr nutzen. Die Auslastung des Systems, die man sich in Docker anzeigen lassen kann, ist sehr niedrig. Und auch die Gesamtauslastung der DS ist gering. Ich versteh das einfach nicht…
Im Netz habe ich leider auch nur einen anderen Anwender im Synologyforumarchiv mit der gleichen Problematik gefunden, leider gab es hier keine Lösung des Problems.
Kann sich jemand von euch vorstellen woran das liegen kann?
Würde ungern mit iobroker auf einen Raspi oder eine piVCCU „umziehen“!
Gruß
Matthias
Hallo Matthias,
das kann ich mir auch nicht erklären. Eigentlich sollten die Specs des Geräts ausreichend sein.
Hast du mal versucht dem Container entrechende Ressourcen zuzuweisen bzw. diese zu begrenzen? Schau mal im Portainer beim Erstellen des Containers unter „Runtime & Resources“. Dort kannst du die Ressourcen begrenzen.
MfG,
André
Hallo André,
danke für die schnelle Antwort! Ja, das habe ich bereits probiert. Leider ohne Erfolg.
Um iobroker zu mikrieren habe ich eben alle Adapter updaten lassen. Leider führte das Updaten des JS-Adapters dazu, dass ich nun die Adminseite gar nicht mehr erreichen kann. Ich vermute, dass ich node über die Konsole hätte vorher updaten müssen.
Gibt es eine Möglichkeit dieses Problem in den Griff zu bekommen?
Gruß
Matthias
Hallo Mathias,
da ich nicht weiß was du gemacht hast und was du erreichen wolltest ist es schwierig eine Diagnose zu stellen. Vielleicht ich dein Problem im Forum-Thread besser aufgehoben. Dort kannst du dann zumindest auch vernünftig Screenshots und Logs posten. Und gerade wenn es um Probleme innerhalb ioBrokers bzw. mit npm geht lesen da einige erfahrene User mit…
MfG,
André
Ok, danke!
Ich würde gerne die Sonos http api zum Laufen bringen. Installieren konnte ich es, aber den Autostart des Service bekomme ich nicht hin. systemd oder systemctl funktioniert ja leider nicht, weil es wohl in der Distribution nicht enthalten ist ?! Gibt es andere Möglichkeiten ? Im iobroker Forum bin ich leider nicht weitergekommen, da wohl vorwiegend andere Distributionen zum Einsatz kommen, bei denen es so funktioniert.
Hallo Max,
leider weiß ich nicht was die Sonos http api ist und was man damit macht. Ist das ein Adapter? Oder benötigt man das zur Funktion eines bestimmten Adapters? Hast du Hintergrundinformationen? Also wie man das ganze aufsetzt und zum Laufen bringt?
Eventuell würde es sich auch anbieten das Ganze in einen anderen Container auszulagern…
Falls du möchtest, dass ich eine Funktion in das Image integriere dann kannst du gerne einen Issue auf Github erstellen. Dann können wir dort diskutieren ob das Sinn macht und wie man das umsetzen kann…
MfG,
André
Hallo André,
seit dem der Sonos Adapter auf V2 aktualisiert wurde, geht die Sprachausgabe mit dem Text to Speech Adapter sayit nicht mehr. Deswegen wird der Wechsel auf die Sonos http api empfohlen. Alle Infos findet man hier: https://forum.iobroker.net/topic/22888/gel%C3%B6st-sonos-http-api-installation-f%C3%BCr-newbies-dummies-und-mich
Es wäre toll, wenn du dir das mal ansiehst. Was mir noch fehlt ist das Thema Autostart (Hinweise finden sich auch in dem Thread)
Hallo Max,
ich habe mal ein wenig dazu gelesen. Wenn ich das richtig verstehe, dann ist es sicher sinnvoller die API in einem eigenen Container zu installieren (oder einen funktionierenden Adapter zu programmieren). Ein fertiges Docker-Image gibt es wohl auch schon.
Ein Tutorial habe ich auch gefunden. Einfach mal nach „sonos http api docker“ suchen.
Aktuell sehe ich keinen echten Grund die API in den ioBroker-Container einzubauen.
MfG,
André
Hallo André,
danke dir erstmal. Installiert hatte ich es ja schon im iobroker Container. Es ging mir nur noch um die Möglichkeit des Autostarts des Services, damit bei einem Neustart die Funktion gleich wieder zur Verfügung steht. Dann hätte ich es gemeinsam in einem Container gehabt, aber dann muss ich wohl trennen.
mfg
Hallo Max,
ich würde nicht empfehlen Software innerhalb eines Containers nach zu installieren. Das entspricht nicht dem Docker-Gedanken. Ziel bei der Virtualisierung mit Docker ist, dass der Container stets eine austauschbare Hülle bleibt. Ein Container ist KEINE virtuelle Maschine wie man sie von z.B. VMware kennt! Falls du Software innerhalb des Containers manuell installierst, so musst du das nach jedem Container-Update erneut tun. Außerdem sollte ein Container immer nur einen Service bereit stellen. Für weitere Services wie z.B. redis oder eine influxdb oder eben auch die Sonos Api sollten jeweils separate Container angelegt werden. Das funktioniert auch eigentlich ganz gut. Habe zu diesem Thema bereits ein Tutorial in der Pipeline. Dort geht es unter anderem darum für den ioBroker eine Redis-DB bereit zu stellen…
MfG,
André
Hi,
ich nutze noch den Container von der „vor MACVLAN“ Ära. Dort läuft nodejs in der Version 8.
Um auf dem letzten Stand zu bleiben und die Vorteile von MACVLAN nutzen zu können, möchte ich nun den Container updaten.
Sehe ich das richtig, dass ich meine ioBroker Installation einfach in einen neuen Container umziehen kann und danach nur „npm rebuild“ ausführen muss, um die Adapter für nodejs 10 zu kompilieren?
Oder muss ich vorher meine Installation auf nodejs 10 hochziehen?
Danke und bis bald
Christof
Hallo Christof,
ja, das sollte genügen. Ich erstelle immer eine Kopie des ioBroker Ordners, erstelle einen neuen Container und mache ein „npm rebuild“. Bis jetzt hat es immer so geklappt. Im Prinzip kannst du deine Installation auch erst manuell hochziehen (also erst node und dann iobroker wie in der Doku beschrieben) und dann den Container neu erstellen, aber das ist eben aufwändiger.
Wichtig, wenn du auf MACVLAN umstellst, checke vorher die Einstellungen deines Admin-Adapters, da sich damit ja die IP-Adresse deiner ioBroker-Installation ändert.
MfG,
André
Hallo André, leider bekomme ich aus dem iobroker docker Container keinen zugriff auf die Diskstation, um dort openHAB mit Iobroker zu verknüpfen. Ich habe iobroker mit MACVLAN eine eigene IP gegeben. Soweit funktioniert iobroker auch, aber ich erhalte keinen Zugriff auf die Diskstation, weder um meinen CALDAV Kalender in iobroker einzubinden, oder openHAB ebenfalls auf der Diskstation oder die Diskstation als FTP-server.
hast Du einen Tipp für mich???
Viele Grüße
Daniel
Hallo Daniel,
diese Frage habe ich leider gefühlt schon 100 Mal beantwortet. Vielleicht muss ich dazu hier mal etwas entsprechendes hinzufügen. Der alleinige Hinweis reicht wohl nicht aus…
Fakt ist, dass es technisch nicht möglich ist eine virtuelle IP-Adresse auf dem selben physischen Interface an zu sprechen (IT-Grundlagen!). Da wir im Falle von Docker + MACVLAN aber genau diesen Zustand haben, ist die DiskStation aus dem Container heraus nicht zu erreichen (gilt natürlich auch andersherum).
Eine mögliche Lösung ist hier ein zusätzliches Bridge Netzwerk im Container. Über dieses virtuelle, interne Netz kann man den Host (= das Gateway im Bridge Netz) dann ansprechen… Ausführliche Infos dazu lassen sich auch im Forum Thread finden…
MfG,
André
Hallo Andre,
Ich verzweifle so langsam mit dem iobroker als Docker Image. Evtl kannst du mir in diesem Forumsbeitrag weiterhelfen. Vielen Dank schon vorab
https://forum.iobroker.net/topic/27805/javascript-updaten-mit-iobroker-im-synology-docker
Hallo Timo,
meine Antwort siehe Forum-Thread.
MfG,
Andre
Hallo,
erstmal vielen Dank für die tolle Anleitung. Sie hat mir bei der ersten einrichtung von IOBroker auf meiner DS sehr geholfen. Nun habe ich etwas erfahrung gesammelt und möchte gerne noch folgendes zum MACVLAN-Netzwerk hinzufügen. Der Netzwerkport muss nicht eth0 oder eth1 heißen, in meiner DS hat er den namen ovs_eth0 und ovs_eth1. Benutze ich ovs_eth0 wo die IP der DS drauf liegt, ist diese aus IOBroker nicht mehr erreichbar. Nutze ich allerding ovs_eth1 kann ich nun die DS weiterhin normal erreichen. Im meinen fall war es für die Maria DB welche auf der DS läuft notwendig. Ich muss dazu aber auch sagen, das ich eine DS718 nutze, welche zwei Netzwerkports hat.
Gruß
Frank
Hi,
das problem mit „nicht erreichen“ von ovs_eth0 liegt daran, dass man vom host aus kein MACVLAN Netzwerk erreichen kann.
Wurde hier schon öfter besprochen (Stichwort „Bridged Network“).
Ist eine Prinzipbedingte Einschränkung.
Warum du ovs_eth0 und nicht eth0 hast: Anscheinend hast Du den Virtual Machine Manager installiert, dieser installiert OpenVSwitch als Zwischennetzwerkschicht. Deshalb musst Du bei allen Anleitungen „eth0“ durch „ovs_eth0“ ersetzen.
Hoffe dies hilft
Christof
Hallo Frank,
schau mal etwas weiter oben. Habe gerade für Daniel eine ähnliche Frage beantwortet. 🙂
Danke auch @Christof für die Antwort. Das ist im Prinzip das selbe…
MfG,
André
Hallo André, danke für die ausführliche Anleitung. Mittlerweile habe ich es geschafft, das MACVLAN-Netzwerk zu erstellen. Der iobroker bekommt in meiner FritzBox auch die von mir zugewiesene IP-Adresse, allerdings öffnet sich kein Port. Außerdem bekomme ich in den Logs im 5. Schritt immer nur folgende Meldung, danach geht es dann nicht mehr weiter:
Cannot send diag info: ETIMEDOUT
Cannot download json from http://download.iobroker.net/sources-dist-hash.json. Error: Error: ETIMEDOUT
Cannot download json from http://download.iobroker.net/sources-dist.json. Error: Error: ETIMEDOUT
Was kann ich da tun? Scheinbar bekommt der ioBroker keine Verbindung zum Internet, denn die IP erscheint zwar in meiner FritzBox, allerdings nicht mit dem sonst üblichen Weltkugelsymbol, was den Zugang der Geräte zum Internet symbolisiert, sondern nur mit einem grünen Punkt.
Hallo Robert,
wie ist denn dein MACVLAN eingerichtet? Hast du dort das Gateway vom Heimnetz (vermutlich deine FritzBox) hinterlegt? Versuche doch mal einen Ping aus dem Container heraus ins Internet zu senden.
MfG,
André
Hallo André,
eingerichtet ist das MACVLAN ziemlich genau wie in der Anleitung. Nur dass ich den Eindruck hatte, dass in meinem Heimnetz nur die letzten IPs vergeben werden (255.255.255.0). Allzu genau kenne ich mich damit leider nicht aus. Mit meinen eingetragenen Daten hat sich der Container aber immerhin erstellen lassen – sonst kam beim Rumprobieren im Portainer immer wieder eine Fehlermeldung.
Eingetragen habe ich also:
Subnet: 192.168.178.0/24
Gateway: 192.168.178.1 (FritzBox)
IP Range: 192.168.178.100/32
Der Befehl Ping 8.8.8.8 und der Befehl Ping 192.168.178.1 in der Konsole über Portainer bringen jeweils nur dieses Ergebnis: „Destination Host Unreachable“
Danke für die Hilfe und herzliche Grüße
Hallo Robert,
deine Netz-Konfiguration sieht eigentlich gut aus. Hast du beim Erstellen des MACVLAN das korrekte Network-Device deiner DS verwendet? Was meinst du mit „Nur dass ich den Eindruck hatte, dass in meinem Heimnetz nur die letzten IPs vergeben werden (255.255.255.0)“? Bei „255.255.255.0“ handelt es sich um die Subnet-Maske. Das kann nicht stimmen…
MfG,
André
Hallo Andre,
ich habe mich jetzt mehrfach durch Deine Seiten gewälzt, auch im iobroker Forum hoch und runter gelesen.. Leider kriege ich es einfach nicht hin, in iobroker mittels sql-adapter auf eine mariadb10 zu connecten. 🙁
Eigentlich war der Plan, so wie Du es auch machst, für das E3DC Logging eine DB zu verwenden, daher hab ich im ersten Ansatz mariadb10 + phpmyadmin auf die DS (DSM) installiert. Später anhand der Forumsbeiträge gelesen und verstanden, dass die Kommunikation so nicht geht (ein und diesselbe phys. Adresse).
Dann wollte ich die mariadb10 als weiteren Container mit Bridge-Netzwerk aufnehmen, und iobroker zusätzlich dieses Bridge-Netzwerk hinzufügen; aber auch hier kommt im sql-Adapter keine Connection hin. „Verbindung testen“ läuft immer auf „Error: connect ECONNREFUSED 172.20.0.2:3307“.
– iobroker hängt im iob_public (macvlan) mit IP (192.168….) und Bridge-Netzwerk mit IP (172.20.0.3)
– mariadb hängt im Bridge-Netzwerk mit IP (172.20.0.2)
– ich verwende eine DS218+, falls nötig zu wissen, daher nur eine phys. Netzwerkschnittstelle
Ich bin mit dem ganzen Thema DS, Portainer noch nicht so vertraut und muss mich noch stark einarbeiten, das ist mir klar. ioBroker kenne ich schon länger, habe ich früher auf nem rpi mit vis genutzt, wollte jetzt mit meinem neuen E3DC im Keller halt auf DS ausweichen und dort iobroker mit vis usw. starten. 🙂
Nur hänge ich einfach an der DB Einbindung fest und komm nicht weiter. Also, wie genau läuft das bei Dir?
Gruß Jens
Und ich schon wieder, sorry, hoffe das wird nicht zur Gewohnheit.. erst Frage stellen und später Entwarnung geben^^
Aber, ich hab es mittlerweile hinbekommen (wie weiß ich noch nicht genau).. Viel im inet forschen, auf der mariadb per console rumhuschen; vermutlich war der neu angelegte user ausschlaggebend? Werde nach einer Pause mal ausgiebig testen, was genau den Erfolg brachte.
Immerhin kann ich mich jetzt weiter mit der Visualisierung für E3DC beschäftigen, da die Datenpunkte nun in die DB loggen 🙂 *freu*
hallo André,
super Arbeit das Tutorial, habe sowei alles hinbekommen Iobroker läuft im macvlan und ist auch unter der ipadresse:8081 ansprechbar die webui geht auf und der blaue Balken läuft durch. Das war es aber auch schon ich kann nichts anklicken oder sonst etwas machen.
in den logs seht:
Starting ioBroker…
host.iobroker check instance „system.adapter.admin.0“ for host „iobroker“
host.iobroker check instance „system.adapter.discovery.0“ for host „iobroker“
host.iobroker check instance „system.adapter.info.0“ for host „iobroker“
und mehr nicht. Hängt er!?!
was kann ich da tun?
Vielen Dank
Matze
Hallo Matze,
wenn du die Meldungen im Log hast, dass wurde ioBroker auch gestartet. Warum die Weboberfläche nicht korrekt arbeitet, kann ich allerdings nicht sagen. Hast du vielleicht mal einen anderen Browser versucht?
MfG,
André
Guten Abend André,
ich habe dein IOBroker-Container neben Docker und Portainer auf meinem RPi4 installiert. Nun habe ich nur einige Adapter installiert, noch nichts wirklich eingerichtet. Außerdem habe ich über Docker ein Network erstellt, sodass ich über die 192.168.178.6:8081 darauf zugreifen kann. Nun ist mir aufgefallen, dass die logs die ganze Zeit Fehler schmeißen. Magst du vielleicht einmal drüberschauen oder mir einen Tipp geben. Ich habe erst vor ein paar Tagen das erste mal Docker und IOBroker installiert und benutzt. Vielen Dank für die Mühe.
https://pastebin.com/Lxf82yQP
Log-File ist mittlerweise etwa 10MB groß, also pastebin ist nur ein kleiner Ausschnitt, falls du mehr brauchst schick ichs noch mal.
Hallo Noel,
ich würde Sagen dein tr-064-Adapter ist dafür verantwortlich. Hast du denn alles Eingerichtet was der benötigt? Capabilities im Container, setcap in der Kommandozeile, Device in den Container durchgereicht, Berechtigungen im Container gesetzt? Schau mal im Forum, da gab’s erst kürzlich was dazu.
MfG,
André
Hallo André, ich habe ein großes Problem. Ich erreiche den Portainer nicht mehr.
Vorab habe ich die V3 vor vielen Monaten problemlos installiert. Vor ein Tagen, habe ich mein Netzwerk etwas umgebaut (Subnetz auf 255.255.254.0 erweitert) Der Ip Bereich ist jetzt von 192.168.0.1 – 192.168.1.254. Da ich dachte, dass diese Umstellung mit dem Problem zu tun hat, habe ich den Portainer und ioBroker Container in der Synology gelöscht und auch das erstellte maclan Netzwerk. Um alle Einstellungen neu machen zu können, habe ich auch die Daten im Portainer_Daten Ordner gelöscht. Ich kann machen was ich will, auch nach mehrmaliger Neuinstallation des Portainers , ändern des Ports (8999 – 9000, 9010-9000, 9000-9000) Neustart der DS….. der Portainer ist einfach nicht erreichbar.
Hast Du eventuell noch eine Idee?
Hallo, konnte den Fehler finden, allerdings erst als ich die komplette Installation platt gemacht hatte. In der Firewall der DS musste ich den Port 9000 intern wieder frei geben. Keine Ahnung, warum der sich alleine deaktiviert hat……
Ich hatte eine ältere buanet/iobroker Installation mit node.js V6. Diese lief erfolgreich im Host Modus. Heute habe ich mich rangesetzt mit dem Ziel, möglichst auf die V4 zu gehen. Dazu habe ich node.js aktualisiert und auch ein neues Abbild genutzt. Portainer habe ich erfolgreich installiert. Leider gelingt es mir nun nicht mehr, iobroker im Host Modus zu betreiben Ich komme mit Port 8081 nicht mehr drauf (Website nicht erreichbar). Wenn ich eine neuen Container im Bridge Modus einrichte, funktioniert es, aber dafür dann einige Adapter nicht mehr…
Zwischenzeitlich habe ich natürlich immer wieder Backups vom iobroker Datenverzeichnis gemacht. Egal was ich probiere (habe auch schon die Version 2.0.0, 3.0.0., 3.1, 4.0 probiert, genauso wie nodejs Upgrade, iobroker update nach Anleitung, ..): immer das Gleiche. Derzeit habe ich den Status: V2, nodejs auf 10.17 Bridge Modus geht, Host Modus geht nicht.
Wo kann ich noch ansetzen ?
Hallo Max,
das ist glaube ich eher ein Problem für das ioBroker-Forum. Poste dort mal dein Log im Fehlerfall und die Schritte die du gemacht hast. Die Ursachen können hier vielfältig sein.
Wenn du sagst, dass du aktuell den Container v2 mit node 10 hast, dann kann (zumindest auf der Synology Disk Station) auch kein Host-Modus funktionieren. Das ist ein bekannter Bug aufgrund eines veralteten Kernesl im DSM und erst seit v3.1 von mir „umgangen“ (Forum). Da deine Installation schon auf node 10 ist, probiere es mal mit dem V4 Container. Das sollte mit Host Modus laufen. Andernfalls melde dich am Besten im Forum-Thread zu Wort.
Viel Erfolg.
MfG,
André
Hallo Max,
hast Du das Problem gelöst? Ich hänge ebenfalls an dem geleichen Phänomen fest.
danke
Peter
Hallo Frank,
leider bekomme ich das Update des JS-Controllers nicht hin und bin so immer noch auf Version 1.5.14.
In deiner Anleitung (https://buanet.de/knowledge-base/steuerung-iob-ueber-kommandozeile/) sind zwei Verfahren beschrieben:
Methode a)
pkill io
iobroker update
iobroker upgrade self
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
Hier erhalte ich beim zweiten Befehl (iobroker update) die Fehlermeldung „/usr/bin/env: ’node\r‘: No such file or directory“.
Methode b)
pkill io
npm install iobroker.js-controller –-production
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
Der zweite Befehl läuft noch durch, allerdings erscheint, wenn ich das Terminal in Docker verwende, am Ende des Upates die Meldung
„+ iobroker.js-controller@1.5.14
updated 1 package and audited 33538 packages in 57.498s“.
Die JS-Controller-Version ist damit dann immer noch nicht die 2.0.39 sondern bleibt die 1.5.14.
Führe ich das Update über die CLI von Portainer durch (zweite Zeile) erhalte ich diese Meldung:
root@iobroker:/opt/iobroker# npm install iobroker.js-controller –-production
npm ERR! code EINVALIDTAGNAME
npm ERR! Invalid tag name „–-production“: Tags may not have any characters that encodeURIComponent encodes.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/iobroker/.npm/_logs/2019-11-02T16_00_50_955Z-debug.log
Hast du eine Idee, wie ich den JS-Controller aktualisiert bekomme? Würde gerne meine alte Version upgraden…
LG
David
Hallo David,
das \r-Problem (Methode a) lässt sich wohl durch Ausführen des reinstall.sh-Scripts lösen (siehe hier).
Bei „Methode b“ handelt es sich nicht um ein Docker spezifisches Problem. So wie ich das sehe meckert er das „–production“ an. Hast du mal im Forum nach diesem Fehler gesucht? Bin mir sicher dass du dort dazu fündig wirst.
MfG,
André
Danke für den Hinweis! Nach reinstall.sh-Script-Auslösung funktioniert das Update nun. Thx!!
ich habe bei meiner DisKStation, Netzwerk link Aggregation am Laufen.
Was Sollich für MACVLAN für eine IP Adresse wählen?
dockerd24 Link encap:Ethernet HWaddr 9A:11:D4:D3:28:FA
inet6 addr: fe80::9811:d4ff:fed3:28fa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:946 errors:0 dropped:0 overruns:0 frame:0
TX packets:1186 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:871226 (850.8 KiB) TX bytes:896766 (875.7 KiB)
eth0 Link encap:Ethernet HWaddr 00:11:32:5E:9D:BF
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:13075140 errors:0 dropped:0 overruns:0 frame:0
TX packets:3191 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18654985653 (17.3 GiB) TX bytes:472601 (461.5 KiB)
eth1 Link encap:Ethernet HWaddr 00:11:32:5E:9D:BF
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:967645 errors:0 dropped:0 overruns:0 frame:0
TX packets:404113 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1007668206 (960.9 MiB) TX bytes:98024486 (93.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:37385 errors:0 dropped:0 overruns:0 frame:0
TX packets:37385 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5854147 (5.5 MiB) TX bytes:5854147 (5.5 MiB)
Hallo,
ist das die komplette Ausgabe? Kann ich mir nicht vorstellen… Gibt’s da noch was mit „ovs_“? Bei mir z.B. mit ovs_bond0. Ob das allerdings mit MACVLAN funktioniert kann ich nicht sagen.
MfG,
André
Ja, das ist die komplette Ausgabe.
Möchte iobroker jetzt aber doch lieber im gleichen Netzwerk, wie die DiskStation laufen lassen. Kannst du dazu ein kleines Tut schreiben?!
Was muss ich im Porter bei Netzwerk angeben, damit iobroker läuft?
Du hattest recht. ich habe ifconfig noch einmal abgefragt und dieses Mal wurde mir auch bond0 ausgegeben. Habe jetzt doch iobroker mit macvlan installiert.
Danke!
Hast du jetzt den Bond für das MACVLAN gewählt ? funktioniert es bei dir
Hallo André,
ich möchte einfach mal ein riesengroßes DANKE hierlassen!
Das ist wirklich eine super Arbeit die Du hier leistest. Um den Container herum hast Du noch eine super Doku auf die Beine gestellt. Dank Dir wurden mir nun wesentliche Docker-Basics erst klar.
Bei mir läuft – Dank Dir – das ganze einwandfrei und auf einem wesentlich professionelleren Level als vorher
Grüße
Artur
Hallo Artur,
freut mich dass es auch bei dir geklappt hat und du sogar noch etwas Wissen mitnehmen konntest!
MfG,
André
Hallo,
tolle Anleitung.
Hat sofort auf einer DS218+ funktioniert.
Vielen Dank
Jojo
Hallo Jojo,
vielen dank für das positive Feedback.
MfG,
André
Hallo,
Einrichtung hat bei mir super geklappt, jetzt würde ich aber gerne dem bestehenden macvlan mehr als eine IPAdresse reservieren. Im portainer kann ich aber leider keine Eigenschaften ändern, wie läuft die neue Einrichtung ohne Risiko, dass mein iobroker-Container nicht mehr funktioniert? Danke für die Hilfe!
Viele Grüße
Florian
Hallo Florian,
du wirst nicht drumrum kommen dein MACVLAN neu anzulegen. Meines Wissens ist keine Änderung möglich.
MfG,
André
OK, danke, werde ich testen.
Nach einigen Installationsversuchen von iobroker mit Portainer habe ich jetzt unter Portainer-Networks 2 Netzwerke die sich nicht mehr löschen lassen, da sie angeblich in Benutzung sind. Hab Portainer schon deinstalliert und neu eingerichtet aber die Netzwerke sind weiterhin da. Wie werde ich die wieder los???
iobroker hatte ich schon am laufen, leider funktionierte der Zugriff auf meine Diskstation über den SNMP-Adapter nicht. Nach etwas Recherche habe ich gelesen, dass eine Bridge eingerichtet werden muss. Leider Blicke ich da dann nicht mehr durch welche IP ich wo eintragen muss.
Hallo,
bei Docker gibt es auch Standardnetzwerke die sich nicht löschen lassen… Solltest du diese nicht meinen kannst du versuchen die Netzwerke über die Kommandozeile deine DS zu löschen. Wenn dies scheitert wird dir wenigstens eine Rückmeldung gegeben, warum es nicht geht. Einfach mal Google fragen. Auf der DS läuft ein ganz normaler Docker Daemon der sich auch über die Kommandozeile bedienen lässt.
Was die Lösung mit dem Bridge Netzwerk zur Kommunikation Container zu Host angeht, habe ich keine Schritt-für-Schritt-Anleitung parat. Im Forum-Threat wurde aber mal darüber diskutiert. Über Google findet man auch relativ einfach Anleitungen wie man ein manuelles Netzwerk erstellt. Oder du nimmst halt einfach das Default-Bridge-Netzwerk vom Docker…
MfG,
André
Habe es hinbekommen. Die selbst angelegten Netzwerke haben sich selbst über der Kommandozeile nicht löschen lassen. Scheint ein Bug von docker zu sein. Konnte das Problem nur beheben indem ich die Datei „local-kv.db“ aus dem Dockerordner über die Kommandozeile umbenannt habe.
Das Standard-Bridgenetzwerk habe ich jetzt im iobroker Container angehangen, somit ist die DS jetzt auch erreichbar.
Was mir jetzt über die Filestation noch aufgefallen ist, dass sich der Besitzer von den iobroker_data Ordner immer wieder in „1000“ ändert. Ist das so gewollt?
Hallo base, komme nach MACVLAN Einrichtung mit meinem neuen Docker Image auch nicht mehr auf meine DS, alle anderen IP Adressen in meinem LAN erreiche ich. Laienfrage: wie hast du das Standard-Bridgenetzwerk im iobroker Container zusätzlich angehängt? Habe meine SQLite Instanz auf der DS laufen…..mit meinem alten Docker Image war ich im Hostmodus und kam ohne Probleme auf meine SQLite Instanz…..wenn ich ein Testconnect auf meine SQLite Instanz versuche, bekomme ich die Fehlermeldung Host not found – es dürfte also nicht ein Berechtigungsproblem sein (wegen anderer IP Adresse).
Habe auch das Problem das ich das Netzwerk conf erstellt habe und nun löschen möchte es aber nicht funktioniert da es verwendet wird! Habe schon versucht die oben besagte Datei umzubenennen, wird aber gleich wieder erstellt.
Wie bekomme ich das Netzwerk wieder weg?
Hallo,
nach dieser Anleitung habe versucht die V3 zu installieren.
Beim ersten Versuch ging jedoch was schief, sodass ich den Docker und Portainer eigentlich komplett gelöscht habe.
Jedoch erscheint nun nach erneuter Installation schon der Anmeldebildschirm des Portainer und ich kann mich nicht anmelden, da admin besteht (Passwort geht nicht).
Was auch merkwürdig ist, das der Docker anscheinend nicht komplett gelöscht wurde, da nach Neuinstallation die alten Ordner und Verknüpfungen vorhanden sind.
Wie kann ich damit umgehen, bzw. dies beheben!?
Danke.
BLRD
Hallo,
wenn du Portainer nach Anleitung eingerichtet hast, dann hast du ein Verzeichnis „portainer_data“ auf deiner DS. Hast du das mal gelöscht und neu angelegt bevor du den Portainer-Container startest?
Da sind die Konfigurationsdateien für Portainer drin.
MfG,
André
Hallo Andrè, nun geht es nachdem ich die Syno neu gestartet habe. Allerding komme ich nicht auf die Anmeldeseite des iobrokers im bridge Mode. Gibt es dazu noch eine detailierte Anleitung dazu?! Danke BLRD
Schön dass es klappt. Zum Bridge-Modus habe ich keine Anleitung. Zu 99% liegt das Problem darin, dass die Portweiterleitung (Expose) nicht richtig konfiguriert ist oder du schlicht auf den falschen Port zu greifst. In den Details zum Container sollten die durchgereichten Ports zu sehen sein. Schau mal ob die Konfiguration passt. Andernfalls stelle deine Frage am Besten im Forum und hänge ein paar Screenshots an.
MfG,
André
Hi, ich habe jetzt schon zum zweiten Mal das gleiche Problem: installiere nach Anleitung, übernehme eine alte Installation und es funktioniert problemlos. Dann mache ich im ioBroker Admin ein Update irgend eines Adapters, dabei zerschiesst es irgendwas. Im Log steht folgendes, wenn ich den Container lösche und neu installiere bleibt die Log Ausgabe gleich
—————————————-
—– Image-Version: 3.1.0 —–
—– 2019-10-06 11:27:39 —–
—————————————-
Startupscript running…
Installing additional packages…
The following packages will be installed: nano
Installing additional packages done…
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
Hallo Andy,
schwer zu sagen was da schief läuft. Scheint als zerschießt es dir beim Update den js-controller. Vielleicht versuchst du mal den über die Kommandozeile per npm install drüber zu installieren. Oder du machst mal ein npm rebuild. Das dauert zwar (je nach Größe deiner Installation) ne Weile aber das biegt in der Regel eine Installation wieder gerade… Einfach mal im Forum danach suchen und ausprobieren. Viel Erfolg!
MfG,
André
Hi André,
ich hatte den iobroker v2 gut laufen. Da wir umgebaut haben und die Elektrik neu ist, habe ich meine Homematic Anlage und auch den iobroker neu aufgesetzt.
Ich bin der Anleitung für die v3 gefolgt und bin gut durchgekommen und habe auch das mcvlan ohne probleme eingerichtet bekommen (glaube ich). Der iobroker container ist auch gestartet.
Im log steht „Starting ioBroker …“ und das ist nun seit 2 Stunden so.
Die letzte Zeile im Log ist „Send diag info: {…..“
Ich komme nicht auf die admin seite von iobroker.
Hast Du eine Idee was ich machen kann? Ist mir etwas durchgegangen?
Grüße Andreas
Hallo Andreas,
schwierig da etwas zu diagnostizieren. Am besten du postest mal im Forum-Threat mit vollständigem Log. Eventuell kann man d sehen was falsch läuft.
Normalerweise sollte es bei ner Neuinstallation keinerlei Probleme geben. Oder übernimmst du zufällig Daten aus der alten Installation?
MfG,
André
Hi André,
inzwischen läufts. Hatte im Browser die Verläufe gelöscht und nochmal probiert.
Danke für dein gutes Tutorial. 🙂
Grüße.
Andreas
Hallo André,
nutze schon seit Längerem dein Image in Verbindung mit openmediavault im ‚Bridge mode‘.
Erstklassige, professionelle Arbeit.
Wegen meiner Shelly Devices und der Multicast Problematik (Nutzung nur über mqtt) wollte ich deinem Vorschlag
folgen und auf MACVLAN (nur iobroker docker) umsteigen.
Der Container wird auch sauber erstellt, Verzeichnis wird gefüllt, Fehlermeldungen gibt es keine.
Allerdings kann ich unter der def. IP Adresse 192.168.178.100:8081 nicht auf die Seite zugreifen.
Ping aus dem Docker heraus ist nach allen Seiten möglich, von der openmediavault Seite her nicht!
Kann das mit den firewall Einstellung auf meinem NAS zusammenhängen?
Gruß,
Dieter
Hallo Dieter,
was kannst du von wo pingen? Dass du die IP vom Host aus nicht anpingen kannst ist normal. Beide IP-Adressen liegen auf dem selben physischen Device…
MfG,
André
Hallo André,
ich hatte in den letzten Wochen andere Prioritäten und komme erst jetzt wieder dazu mich um das Problem kümmern.
In der Zwischenzeit lief iobroker mit deinem aktuellen Image, wie davor, im Bridge mode.
Auf die Seite 192.168.178.100:8081 kann ich im MACVLAN Mode nach wie vor nicht zugreifen.
Ein Ping vom Container zum Host oder vom Host zum Container geht nicht, was wohl korrekt ist.
Alle anderen Pings funktionieren.
Beim Start des Containers kommen keine Fehlermeldungen, das lokale Verzeichnis wird korrekt befüllt.
Allerdings ist mir aufgefallen, dass nur diese Prozesse (stats) gestartet werden:
– /bin/bash /opt/scripts/iobroker_startup.sh
– iobroker.js-controller
– bash
Was geht da schief?
Gruß,
Dieter
Hallo Dieter,
ohne jetzt dein Log zu kennen würde ich darauf tippen, dass die Adapter (inklusive Admin) nicht starten. Eventuell passt der Hostname nicht. Du kannst auf der Kommandozeile im Container mal folgendes machen und anschließend den Container neu starten:
cd /opt/iobroker
pkill io
iobroker host this
MfG,
André
Ich habe mich an die Anleitung gehalten und Portainer eingerichtet (läuft auch).
Auch das macvlan bekomme ich eingerichtet. Config ist Subnet=192.168.0.0/16 (wie das lokale Netz auch), Gateway=192.168.0.5 (Fritzbox) und IPRANGE=192.168.5.1/24 (ab hier soll Docker die IPs vergeben)
Beim Erstellen der Container wird dann aber immer als erstes die IP 192.168.5.0 zugewiesen, also hab ich in Portainer die IP manuell beim erstellen des Containers vergeben (192.168.5.1). Damit ist dann der Container auch erreichbar und ich komme auf den iobroker drauf. Jetzt aber das Problem: Der Container kann nicht ins Internet…schon beim Starten gibt es Fehlermeldungen, dass Statistiken nicht hochgeladen werden können. Im iobroker kann ich auch keine Adapter installieren. Ping auf Router 192.168.0.5 funktioniert. Komme aber aus dem lokalen Netz nicht raus.
Fehler ist auch wenn ich die IPRANGE mit 192.168.5.0/16 angebe.
Andre, kannst du da vielleicht helfen, oder wer anderes? 😉
Hallo Enrico,
da weiß ich jetzt so aus dem Stand auch nicht weiter. Für mich sieht das eigentlich gut aus. Mal versucht die IP vom Google DNS v(8.8.8.8) anzupingen? Vielleicht ist es auch ein Problem mit der Namensauflösung dass du nicht ins Internet kommst?
MfG,
André
Hallo André,
ich kann alles innerhalb des LANs per PING erreichen. Alles was außerhalb liegt, auch die 8.8.8.8 erreiche ich nicht. Erstelle ich einen Container der bridge verwendet funktioniert es, nur über macvlan komme ich aus dem LAN nicht ins Internet, obwohl ich im selben Subnetz den Container habe, in dem auch der Rest des LANs ist.
Hallo,
hatte das gleiche Problem. Habe dann beide Netze eingegeben – dann geht es bei mir.
Gruß Bernd
Hallo,
bei mir kommt der iobroker auch nicht ins Internet. Auch wenn ich die Bridge hinzufüge.
Erst wenn ich den Befehl „echo „nameserver 8.8.8.8 „> /etc/resolv.conf“ im Terminal eingebe verbindet sich iobroker mit dem Internet.
Diesen Befehl habe ich auch im Startscript eingetragen, somit hat der Container von Anfang an Internet. Problem an der Sache ist, wenn jetzt der Container neu erstellt wird, ist der Script weg. Gibt es dazu eine Lösung?
Gruß Tobi
Hallo Tobi,
wo hast du in deinem Netz denn den DNS? Macht das dein Router oder die DiskStation? Wenn es die DiskStation ist, liegt der Fehler darin, dass du vom Container die IP der DS nicht erreichen kannst…
Hast du mal versucht ein selbst erstelltes Bridge Netzwerk als Umgehungslösung hinzu zu fügen. Soweit ich mich erinnere gibt es in der default-bridge keine Namensauflösung… Ist jetzt nur ins Blaue geraten. Ich hatte noch nie den Fall, dass einer meiner Container nicht ins Internet gekommen ist…
MfG,
André
Hallo André,
ja in meinem Fall ist die Diskstation auch der DNS Server. Eine Bridge habe ich erstellt, aber auch hier keine Verbindung ins Internet, auch die Bestehende Bridge bringt mich nicht ins Internet.
Mit deaktiviertem DNS auf der DS funktioniert auch das Internet.
VG
Tobi
Hi, ich habe IoBroker schon einige Wochen per MACVLAN nach deiner Anleitung am laufen. Gestern habe ich mein DSM auf der Diskstation auf Version „6.2.2-24922 Update 3“ geupdatet. Ebenso das Paket „Universal Search“ auf v.1.4.0.-0275.
Die Diskstation hat einen Neustart durchgeführt.
Anschließend erreiche ich IoBroker nicht mehr.
unter http://192.168.178.20:8081/ kommt : Die Website ist nicht erreichbar
Im Portainer läuft der Container iobroker, im Docker auch.
Muss ich noch was machen nach einem Neustart?
Ich muss sagen, dass ich mich definitiv nicht als Fortgeschrittener User nennen bezeichnen kann, fand die Installation schon sehr aufwäändig, habe sie jedoch grade so hinbekommen. Verstehen tu ich davon fast nichrts 😉
Ich weis nicht weiter.
Hallo,
so einfach ist es leider nicht. Das von dir beschriebene Verhalten kann viele Ursachen haben. Interessant wäre zum Beispiel was das Log deines Containers sagt… Da sich die Kommentare hier nicht wirklich für Logfiles eignen empfehle ich dir einen Besuch im ioBroker Forum. Den passenden Threat habe ich im Tutorial ja bereits verlinkt.
MfG,
André
Hallo,
danke für das ausführliche Tutorial. Ich hänge aber leider beim Deployen des Containers. Ich habe soweit alle Daten eingetragen. Es wird mir aber leider jedes Mal folgender Fehler angezeigt:
„Error. Cannot create endpoint on configuration-only network“
Was könnte das bedeuten?
Hallo Stefan,
da gibt es offenbar ein Problem mit deinem Docker-Netzwerk. Wie sieht dein Setup aus (welcher Netzwerkmodus, welches Hostsystem, welche Versionen)?
Vielleicht hilft es dein Netzwerk in Docker nochmal zu löschen und neu anzulegen.
MfG,
André
Ich habe das gleiche Problem: failed to create endpoint on network bridge
Hostsystem: DS218+ mit der letzten Docker Version 18.09.0-0505
Netzwerk mehrmals gelöscht und neu angelegt. Leider ohne Erfolg.
Irgendeine Idee? Danke.
Ich habe es irgendwie mit dieser Anleitung hinbekommen:
https://www.portainer.io/2018/09/using-macvlan-portainer-io/
Hab mir das gerade nochmal angeschaut. Da hat sich wohl was in der aktuellen Docker-Version getan. Komisch ist, dass mir nur die letze 17er Version Docker angeboten wird. Sobald ich die 18 installiert bekomme werde ich das nochmal verifizieren. Bis dahin werde ich die Anleitung mit einem entsprechenden Hinweis versehen.
MfG,
André
Hallo an alle,
vielen Dank für die Antworten bisher. Ich habe das Thema einige Zeit ruhen lassen, sitze aber gerade wieder am MACVLAN.
Ich habe versucht zunächst die Configuration, wie beschrieben, zu erstellen. Alles gut. Nachdem ich dann das eigentliche MACVLAN anlegen wollte (erneut auf „Add Network“ klicken), ist der Tab „Creation“ bei mir ausgegraut. Mir wird immer angezeigt, dass ich zunächst eine Configuration erstellen soll. Aber das habe ich doch schon gemacht 🙁
Was mache ich falsch?
//Edit: Der ioBroker -Container läuft aber anscheinend auch ohne den oben beschriebenen Schritt. Komme über „http://[IP-Adresse]:8081“ auf die Oberfläche.
Hallo Stefan,
ja, das Verhalten ist bekannt. Scheint irgendwie von der Docker-Version auf der DS abzuhängen. In Version 18 braucht man wohl nur die „Configuration“ des MACVLAN anzulegen (so läuft es aktuell auch bei mir) und es läuft. Ab Version 19 muss dann erst die „Configuration“ und als zweiten Schritt die „Creation“ angelegt werden damit es funktioniert (so ist es laut Docker auch korrekt). Hatte im Tutorial schon einen entsprechenden Hinweis hinzugefügt. Wenn ich verifizieren kann dass meine Vermutung mit den Docker-Versionen stimmt, werde ich das Tutorial entsprechend anpassen. Kannst du mir vielleicht kurz mitteilen welche Docker Version du laufen hast?
MfG,
André
Hallo André,
ich habe am Mittwoch die Version 17.05.0-0401 installiert.
Danke für deine ganzen Mühen und deinen Support an dieser Stelle.
Hast du eigentlich mitbekommen, dass es deine Anleitung schon nach Youtube geschafft hat?
Und jetzt habe ich noch eine Frage, entschuldigt bitte.
Wie kann ich mich denn nun per SSH mit iobroker verbinden?
„ssh root@[IP-Adresse]“ funktioniert nicht. Genau so wenig wie admin oder pi als Nutzername.
Du kannst die Kommandozeile im Portainer nutzen oder dich über die Kommandozeile deiner DS in den Container verbinden (Siehe Docker Doku). Per SSH direkt in den Container zuzugreifen ist nicht vorgesehen und habe ich bisher auch nicht benötigt. Damit das geht müsstest du im Container die entsprechenden Pakete nachinstallieren und SSH einrichten…
MfG,
André
Danke dir. Das ist alles noch relativ neue Materie für mich. Ich werde mich dann mal einlesen.
Hallo Andre,
ich benutze deine Docker-Image V3 und es funktioniert einwandfrei, vielen dank für das teilen deines Wissens !
Ich sehe das dein Image auf der Node.js 8.16.0 Version basiert. Der Info Tab im Iobroker gibt mir die Info, dass es vom Node.js eine neuere Version gibt. Planst du hier auch noch ein Update ? Oder könntest du mir evt. sagen wie man dies macht ?
Oder sollte man dies nicht tun ?
Falls du mal Zeit haben solltest, würde ich mich über ein kurzes Feedback freuen.
Vielen Dank im Voraus !
Hallo Eduard,
das ist korrekt. Im aktuellen Image ist Node 8 enthalten. Mein Plan sieht vor Node mit der nächsten Container-Version auf v10 zu aktualisieren. Zu diesem Zweck wird es demnächst auch ein Beta-Image geben.
Natürlich kannst du Node jederzeit innerhalb deines Containers aktualisieren. Allerdings sind hierbei auch Schritte in bei deiner ioBroker-Installation notwendig (siehe dazu die offizielle ioBroker-Doku).
Meine Meinung: Wenn du auf die neue Node-Version nicht angewiesen bist (z.B. aufgrund von Adapter-Abhängigkeiten), besteht aus meiner Sicht aktuell kein Grund zu handeln.
MfG,
André
Danke für die Rückmeldung !
Wie kann man Node innerhalb des Containers updaten? Welche Linux-Version soll man verwenden?
Hallo Christian,
die erste Antwort: Am Besten gar nicht. Wenn du es dennoch tun willst, dann so wie es in der Doku auf iobroker.net beschrieben ist. Der Container ist letztendlich auch nur ein normales Linux.
Was die zweite Frage angeht, die verstehe ich nicht. Wo musst du dich für eine Linux-Version entscheiden???
MfG,
André
OK, Danke. Ein Update auf einer 10er Version von NOdeJS wäre toll 😉
Hallo Christian,
gibt es doch schon. Einfach statt „latest“ den „beta“-Tag verwenden. Da ist Node 10 drin.
Siehe auch mein Changelog auf Github.
MfG,
André
Hallo zusammen,
ich habe heute iobroker über den beschriebenen Weg installiert, was auch problemlos funktioniert hat.
Bei der Übernahme meiner alten Installation habe ich mich dann irgendwie vertan, so dass ich entschieden habe, das Systeme einfach neu zu installieren.
Sollte ja kein Problem sein.
Nun erhalte ich aber folgende Meldungen und iobroker startet nicht mehr.
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
Wenn ich mir die Angaben zum Volume im Container anschaue sieht das aber gut aus.
Host/volume /volume1/docker/iobroker_data wird zum Pfad im Container /opt/iobroker verbunden.
Jemand eine Idee, was hier zu tun ist.
Hallo,
vermutlich ist der Ordner nicht leer. Wenn du neu starten willst, lösche einmal den „iobroker_data“-Ordner und lege ihn neu an. Wenn du ein Backup wiederherstellen willst versichere dich, dass im Ordner die entsprechenden Daten vorhanden sind.
MfG,
André
Man könnte auch beim Erzeugen des macvlan Netzwerkes einen IP-Range von 192.168.0.240/28 (statt 192.168.0.100/32) eintragen, dann hat man 14 IPs „frei“ für Container. Aufpassen, dass der DHCP-Range im Router nur bis *.239 eingestellt wird. Nun vergibt man bei der Containererzeugung einfach eine feste IPv4 IP „192.168.241“, für den nächsten Container *242 etc.
Hallo Henrik,
das ist richtig. Allerdings würde ich bei Containern im Normalfall immer den Bridged-Modus wählen. Einfach um die Container vom restlichen Netz abzuschirmen (Sicherheitsaspekt) und nur den/ die verwendeten Ports ins Netz zu öffnen. Zumal für die Kommunikation von Containern untereinander nicht einmal das lokale Netz verwendet werden muss. Das geht auch komplett Docker-intern.
Da das mit dem Bridged-Modus aufgrund der Vielzahl der verwendeten Ports beim ioBroker aber nicht ganz einfach ist, habe ich den auch bei mir als „Ausnahme“ über MACVLAN angebunden und das dann im Tutorial auch nur so beschrieben. (Außerdem gehe ich so relativ sicher, dass auch nicht so bewanderte User sich keine IP-Konflikte ins Netz holen)
Wäre aber vielleicht mal ein „Best Practice“ wert. 🙂
MfG,
André
Erstmal vielen Dank für die super Anleitungen. Ich folge diesen schon eine ganze Weile und sie funktionieren super. ich bin bereits auf ioBroker v3 und habe nun ein Update gemacht, da der js.controller eine neue Version brauchte. Also genau nach Anleitung vorgegangen, wobei ich zunächst über portainer ein Recreate des Containers durchgeführt habe. Dann über portainer auf die Konsole im ioBroker und Deine Befehlskette
pkill io
iobroker update
iobroker upgrade self
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
ausgeführt.
Danach habe ich den Container nochmal über DSM Docker neu gestartet.
Wenn ich jetzt die Weboberfläche des Admin aufrufe, sehe ich zwar den ganzen Rahmen und oben läuft der blaue Balken von links nach rechts, aber es kommen keine Inhalte mehr.
Komisch finde ich auch, dass im portainer keine IP und keine published ports angezeigt werden.
Ebenso sind im Docker DSM unter Details des Containers keine Netzwerkeinstellungen vorhanden. Und ich hatte vorher eigentlich immer explizit einen externen Port konfiguriert. Er findet im Browser ja auch diesen Port, lädt aber keine Inhalte.
Woran kann das liegen?
Mein Problem ist gelöst.
Container gelöscht und neu erstellt mit meinen alten Einstellungen. Danach lief ioBroker.admin wieder, aber zwei Instanzen, Homematic RPC und SQL History, wollten nicht starten. Musste ziemlich frickeln, habe dann aber die Lösung gefunden.
Keine Ahnung, ob durch das Update irgendwelche neuen Besonderheiten reingekommen sind, aber es scheint wieder zu laufen.
Hallo Andre,
ich benutze deine Io-Broker Images auch schon lange und möchte mich für deine tolle Arbeit bedanken. Bisher hat immer alles prima funktioniert aber nun hab ich seit einigen Tagen ein Problem an dem ich ncht weiterkomme.
Es gelingt mir partout nicht meinen iobroker container per bridge-network mit einem zweiten container (in meinem Fall mysql) zu verbinden.
Der Iobroker Container bekommt die 172.17.0.3 und der sql-container die 172.17.0.4 aber es ist keine Verbindung möglich. ich kann noch nicht mal das gateway also die 172.17.0.1 pingen.
Ich hab schon die verschiedensten konstellationen versucht, aber ich krieg es nicht hin.
Ist das evtl. ein Problem von Portainer oder von Synology?
gruß,
Frank
Hallo Frank,
versuche doch bitte mal ein eigenes Bridged-Netzwerk anzulegen. Z.B. 172.18.0.0.
Ich weiß dass es bei dem Standard-Netz ein paar Einschränkungen gibt (z.B. funktioniert dort keine Namensauflösung).
Viel Erfolg.
MfG,
André
Hallo Andre,
ich habe das Problem letzte Woche lösen können. Das Problem war die Firewall der Diskstation. Als ich das Docker Bridge Netzwerk dort eingetragen hatte, hat die Kommunikation zwischen den Containern sofort funktionert.
gruß,
Frank
Hallo Frank,
ich habe dasselbe Problem. Kannst du mir sagen, welchen Befehl du in der Diskstation verwendet hast?
Danke und LG
David
Ich habe alles so eingerichtet, wie beschrieben und es läuft auch soweit. Allerdings bekomme ich jedes Mal, wenn ich in der ioBroker-Konsole des Portainers den Befehl „iobroker update“ oder „iobroker backup“ oder dergleichen eingebe, eine Fehlermeldung
/usr/bin/env: „node\r“: Datei oder Verzeichnis nicht gefunden
Das lässt wohl auf eine DOS-Konvertierung schließen. Ich kann die Konsole nur als root aufrufen. Wenn ich das selbe ioBroker-Verzeichnis mit der alten Version 2 des buanet-Images verwende, klappt es. Hat jemand eine Idee, wie ich das Problem gelöst bekomme. Wie gesagt, alles andere funktioniert. Die ioBroker-Adapter lassen sich auch über die ioBroker-Admin-Oberfläche problemlos updaten.
Hallo Thorsten,
ist mir bisher so nicht bekannt. Müsste ich mal nachstellen.
Falls du zufällig auf Github unterwegs bist, wäre das ein Fall für einen Issue zum Docker-Image.
MfG,
André
Hallo Andre,
jetzt muss ich mich doch gleich noch mal melden :/
Du schreibst:
„Trotzdem gibt es einen Wermutstropfen: Eine direkte Kommunikation zwischen der IP-Adresse des ioBrokers und der des Docker-Hosts ist leider nicht möglich. Praktisches Beispiel ist hier z. B. die Anbindung einer auf dem Host laufenden SQL-Datenbank an den ioBroker-Container. In so einem Fall müssen andere Lösungen gefunden werden.“
AAAAHHHHH….
Ich hab es gerade probiert – ich kann wirklich auf alles zugreifen, aber nicht auf den eigentlichen DockerHost. Warum ist das so?
Ich hab natürlich eine SQL-DB und auch noch weitere Sachen auf dem Server am laufen.
Letztendlich möchte ich auch die Daten des SynologysServers im ioBroker aufführen.
Gibt es hier eine Möglichkeit das einzurichten? Hast Du einen Tipp wonach ich googeln kann?
Oder heißt „andere Lösungen“ die Services müssen auf einen anderen Server?
Gruß
Marc
Hallo Marc,
das Thema hatten wir schon mal im Forum.
Es ist einfach so, dass bei MACVLAN zwei oder mehr IP-Adressen auf einer Netzwerkschnittstelle liegen (die von der DS und die vom ioB-MACVLAN). Wenn man nun von der einen IP (DS) auf die andere IP (ioB-MACVLAN) zugreifen will, dann lässt sich das schlicht nicht routen, da die physikalische Verbindung ein und die selbe ist…
Lösen lässt sich das Thema z.B. über ein „zweites Beinchen“ der DS ins Heimnetz (zweite Netzwerkkarte mit eigener IP) oder über ein Bridge-Netzwerk, welches man dem ioB-Container zusätzlich zum MACVLAN zuweist. Letzteres würde ich bevorzugen. Dabei ist dann nur zu beachten, dass DS und ioB sich dann nicht über die IPs im Heimnetz (192.168.x.x) erreichen, sondern über die entsprechenden IP-Adressen innerhalb des Bridge-Netzwerks (z.B. 172.17.0.x).
MfG,
André
Hi Andrè
Vermutlich ist das Problem vom Marc das gleiche vor dem ich gerade stehe..
Ich habe mir den Conbee Stick 2 zugelegt, dieser läuft wunderbar im Container, kann meine Zigbee Geräte paieren..
Jedoch kann ich den ioBroker Deconz Adapter nicht mit der Phoscon App verbinden.. Der API Key wird einfach nicht erstellt..
Installiere ich Phoscon extern auf einen Raspy, funktioniert das ganze wunderbar, nur wollte ich jetz eigt kein eigenes Device nur für den Conbee Stick..
Kannst du dazu was sagen, oder hast vll sogar selbst den Stick im Einsatz?
Viele Grüße
Hallo Andre,
super HowTo, ganz großes Dankeschön dafür!!!
Eher eine kleine Ergänzung an alle, die wie ich mit der MACVLAN-Konfiguration kämpfen.
Wenn man diese löscht, den DockerContainer aber schon erstellt hat, muss man diese nachträglich wieder manuell dem Container (im DockerContainer) zuweisen – diese eigentliche „Kleinigkeit“ hat mich gerade etwas Nerven gekostet :}
In dem Container selbst, steht dann auch, welche IP-Adresse zugewiesen wurde 🙂
Vielleicht hilft es dem einen oder anderen.
Gruß
Marc
Hi André vielen Dank für die tolle Anleitung, leider hänge ich bei iobroker und bekommen keine Verbindung zu Port 8081 -Netzwerk Zeitüberschreitung. Der Ordner auf der ds iobroker_data ist auch leer.
Homematic läuft über die ds IP aber keine Verbindung zum LGW auch die Link LED leuchtet nicht.
Jemand eine Idee wo ich ansetzen könnte?
Hallo Chris,
leider kann ich mit so wenig Details keine Diagnose anstellen, da brauche ich schon etwas mehr Input…
MfG,
André
Hallo André,
Ich hoffe du kannst mir helfen.
Ich bekomme ioBroker einfach nicht auf meiner Synology (DSM 6.1-15047) zum laufen.
Momentan läuft ioBroker als Container im Bridge Netzwerk.
Hier habe ich jedoch das Problem, dass ich jeden Port einzeln mappen muss.
Das führt dazu, dass der BroadLink2.0 Adapter nicht funktioniert, da er bei jedem Start unterschiedliche UDP Ports verwendet, was das mappen im Vorfeld unmöglich macht.
Also habe ich versucht ioBroker im MACVLAN Modus via Portainer laufen zu lassen.
Leider bekomme ich jedoch Portainer nicht zum laufen, da Portainer keinen Zugriff auf die Docker.Sock bekommt.
Auch der Trick mit dem symbolischen Link hat nicht funktioniert (https://www.reddit.com/r/synology/comments/bat67m/docker_impossible_to_make_portainer_to_access/).
Das manuelle Installieren von ioBroker direkt auf der DS hat auch nicht geklappt, da seit DSM6 wohl kein Zugriff mehr auf Root erlaubt wird.
Momentan fehlen mir die Ideen :/
Viele Grüße,
Wlad
EDIT:
Nachdem ich gesehen habe, dass du eine Beta Version des Containers bei GitHub bereitstellst, die anscheinend das Host Netzwerk Problem löst, habe ich das promt ausprobiert.
Container mit dem Dockerfile gebaut, bereitgestellt und siehe da … es läuft! 🙂
Vielen Dank für deine hervorragende Arbeit!
VG,
Wlad
Hi, i solved my „issue“ before (i posted on your github) … the reason is as simple as hard to find … i tracked it down to permission issues as you also said, but …
my folder / the drive it was on, was mounted as „noexec“ in the fstab …
that was the reason the container couldn’t write all the files ….
just wanted to let you know maybe for you tutorial
Hi,
Vielen Dank für die super Anleitung. Bei mir läuft auch alles super und habe das Netzwerk über MacVlan eingerichtet. Jetzt habe ich den Hue Adapter in ioBroker installiert, aber die Instanz kann keine Verbindung zur ipAdresse herstellen. Hat das was mit dem Portainer zu tun? Kann ich nicht mehr auf die ipAdressen im eigenen Netzwerk des Routers zugreifen?
Hallo Carsten,
wenn du sagst es läuft alles super, dann gehe ich davon aus, dass du den ioBroker über den Admin erreichen kannst. Also muss dein MACVLAN ja generell schon mal funktionieren. Nur der Hue-Adapter will nicht, richtig? Dieser kann nicht auf die IP-Adresse der Hue-Bridge zugreifen? Woran machst du das fest? Gibt es entsprechende Logs? Kannst du aus der Kommandozeile des Containers die IP-Adresse per Ping ansprechen?
Mit Portainer hat das wahrscheinlich nichts zu tun und ob du auf die IP-Adressen in deinem Netzwerk zugreifen kannst, kannst du mittels Ping ja leicht testen…
MfG,
André
Ich kann das ganze aber auch nach wie vor mit dem Network „host“ einrichten oder? Dann hat die iobroker nach wie vor die IP-Adresse der DS?!
Hallo Ronald,
auf Seite 2 unter Netzwerk heißt es: „Für DiskStation-Benutzer werden die Möglichkeiten allerdings durch einen Bug aktuell etwas eingeschränkt (Details im Readme auf Github), sodass nur noch die Varianten „Bridged Mode“ und „MACVLAN“ übrig bleiben.“
Dementsprechend ist die Antwort auf deine Frage: NEIN.
ABER: Aktuell teste ich im beta-Image gerade eine mögliche Lösung des Problems. Die Diskussion dazu beginnt hier: ioBroker-Forum-Thread.
MfG,
André
Hallo Andrè, wenn Kennwort und https aktiviere, kann ich vom iPhone und iPad nicht mehr auf den iobroker zugreifen.
https ist in der Adresse natürlich geändert. Es kommt auch der erste Startbildschirm (blaue Balken und Laufleiste ), aber dann bricht der Zugriff ab. Kennst du das Problem?
Vielen Dank
Hallo Sven,
da kann ich nicht viel zu sagen. Ich arbeite auch mit https. Bisher keine Probleme. Allerdings haben Apple-Geräte in unserem Haushalt keinen Zutritt. 😉 Aber mal im Ernst. Ist das vielleicht ein Browser-Problem unter iOS? Mehr fällt mir da aktuell nicht ein.
MfG,
André
Hi André, danke für die super Anleitung. Hat mir sehr geholfen.
Ich vermisse in meinem Portainer GUI den ‚RECREATE‘ Tab.
Hast du da eine Idee?
Hallo,
kann ich mir nicht vorstellen. Bist du auch in den „Container details“? In der „Container list“ gibt es den Button nicht. Erst wenn du über einen Klick auf den Namen eines Containers die „Container details“ aufrufst gibt es einen Recreate-Button. Wenn da wirklich keiner ist, bräuchte ich mal einen Screenshot um zu sehen ob du richtig bist. Meld dich dann am besten mal im Forum-Thread.
MfG,
André
Guten Abend. Erstmal Danke für deine Arbeit und dass du diese mit uns teilst! Tolle Anleitung! Ich habe deine Anleitung soweit befolgt und der Container läuft auch soweit. Zur Info, ich bin von der V2 auf die V3 umgestiegen. Ich habe da bloß ein kleines Problem welches ich nicht gelöst bekomme. Ich komme einfach nicht in den Admin Bereich. Sobald ich die IP:8081 eingebe, sagt mir mein Browser dass die Seite nicht erreichbar ist. Über IP:8082 bekomme ich eine Seite angezeigt. Habe auf meiner DS bereits die Firewall überprüft bzw. mal deaktiviert….ohne Ergebnis. Mein „alter“ V2 Container zeigt das gleiche verhalten. Habe ich etwas übersehen?
Hallo Michael,
welche Netzwerkoption benutzt du? MACVLAN, bridge oder host? Läuft vielleicht irgendetwas, was den Port blockiert? Schwierig da gezielt was zu sagen ohne dein Setup zu kennen. Vielleicht schaust du mal im Forum-Thread vorbei und Postest ein paar Infos zu deinem Setup. Dann können wir dich da sicher unterstützen.
MfG,
André
Hey Andé,
ich konnte das Problem lösen. der Admin Adapter ist nicht gestartet. Hab den über ssh angestoßen. Nun komme ich auch auf das Webinterface. Für alle die den Befehl suchen: „iobroker start admin“
Gruß Michael
Wie kann ich dieses Image über ein LetsEncrypt Image (https://github.com/linuxserver/docker-letsencrypt) erreichen über proxy conf.
Ich habe es geschafft per iobroker.mydomain.com die Admin Oberfläche zu erreichen, aber VIS funktioniert nicht.
vis.mydomain.com wäre genauso ok wie alles andere, mir egal, solange es geht.
Außerdem würde ich gerne von extern auf MQTT zugreifen können?!
DANKE 🙂 ansonsten tolles Image!
Hallo,
leider verstehe ich die Frage nicht so ganz. Das mag aber auch daran liegen, dass ich generell und grundsätzlich meinen ioBroker nicht aus dem Internet erreichbar machen will und auch jedem davon abrate. 🙂
Ich selbst verwende für den Zugriff von extern ein VPN. Als Zertifikat für den Zugriff per HTTPS habe ich mir ein selbst signiertes Zertifikat von der Synology DS ausstellen lassen, welches ich dann manuell auf meinen Clients installiert habe. Sorry.
MfG,
André
Hi André,
danke erst mal für die wiedermals tolle Anleitung, habe mir als die erste raus kam extra eine Synology DS gekauft um das
ganze nutzen zu können einfach klasse !!!!! Ich würde gerne umsteigen auf die Version 3,
leider bleibe ich bei einem Punkt bis jetzt stecken. Ich habe mir einen SSH Zugang eingerichtet und das klappt auch,
aber bei mir steht das bei eth0 :-/
die DS ist eine RS818+
eth0 Link encap:Ethernet HWaddr 00:11:32:97:35:05
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:874949 errors:0 dropped:0 overruns:0 frame:0
TX packets:533916 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:458624634 (437.3 MiB) TX bytes:121327785 (115.7 MiB)
kann ich auch das nutzen und wenn ja wie genau ?!
ovs_eth1 Link encap:Ethernet HWaddr 00:11:32:97:35:06
inet addr:192.168.178.52 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fe80::211:32ff:fe97:3506/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:307964 errors:0 dropped:0 overruns:0 frame:0
TX packets:619 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:266002750 (253.6 MiB) TX bytes:136679 (133.4 KiB)
Ich hoffe du kannst mir weiter helfen, danke schon mal im voraus.
Viele Grüße
Robert
Hallo Robert,
dein eth0 scheint keine IP-Adresse zu haben. Sieht aus als wäre die Schnittstelle nicht genutzt. Wenn 192.168.178.52 die IP-Adresse deiner DS ist, dann müsstest du demnach die Schnittstelle „ovs_eth1“ für MACVLAN verwenden.
MfG,
André
Hallo André, ich habe es jetzt wie folgt eingetragen:
Parent network card: ovs_eth1
Subnet 192.168.178.0/24
Gateway 192.168.178.1
IP range 192.168.178.99/24
Der Router hat die 192.168.178.1 und der Adressenbereich geht von 2 bis 254 (Firtzbox) (So verstehe ich es)
Die DS hat 4 Netzwerkanschlüsse wobei jetzt der ovs_eth1 mit der 192.168.178.52
für das iobroker genutzt wird (so habe ich es verstanden) erreichbar ist der iobroker dann über
die 192.168.178.99:8081
DHCP ist bei mir eigentlich von 2 bis 254 bei mir eingerichtet aber das werde ich dann ändern müssen.
Echt krass wenn man sich nicht so viel damit beschäftigt und es dennoch selber machen will,
ein großes danke an DICH !!!!! Was du für eine Zeit da rein steckst ist überwältigend.
Gruß Robert
Hallo Robert,
ich hoffe du hast als IP-Range nicht 192.168.178.99/24 angegeben. Das würde bedeuten, dass du deinem Docker erlaubst IP-Adressen von .1 bis .254 zu vergeben! Wenn du 192.168.178.99/32 angibst beschränkst du das auf eine IP-Adresse, in deinem Fall auf die .99. falls du mehr Adressen im Docker benötigst kannst du hier dein Netzwerk berechnen lassen: Heise Netzwerkrechner.
Außerdem solltest du, wie du schon angemerkt hast, deinen DHCP-Bereich dringend anpassen. Je nachdem wie viele IPs du per DHCP zuweisen lässt reicht wahrscheinlich ein Bereich .200 bis .254 („alle 200er“).
MfG,
André
Hallo André, doch ich hatte die IP-Range auf 192.168.178.99/24 gestellt 😀 hatte es bis jetzt nicht genau verstanden. Danke für den Wissenschub.
Den Netzwerkrechner habe ich mir auch angeschaut und denke auch verstanden.
Meinen DHCP bereich habe ich angepasst, 192.168.178.2 bis 192.168.178.98
Hatte ein Video bei Youtube gesucht, aber kein passendes gefunden wo es ein bisschen erklärt wird, sehr viele sind so Technisch das man als Laie da schnell raus ist.
Ich danke dir ganz Herzlich für die tolle Hilfe !!!!!!
Viele Grüße aus dem Sauerland
Robert
Vielen Dank für die Anleitung,
habe diese befolgt und mir ein Netzwerk per Portainer mit /29, damit ich 6 IPs habe.
Habe auch plex, unifi und iobroker als eigene IP für deren Container eingerichtet.
Habe so wieder etwas dzu gelernt.
Jetzt hätte ich aber auch noch gerne Port 80 für die IP meines ioBroker eingerichtet, da ich diesen Port gerne verwenden würde für Node Red mit dem Flo Amazon echo Hub.
Damit könnte ich Alexa local ablösen und meinen echo dot 2 abbauen, da Amazon echo hub auf port 80 lauscht für Generation 3 der Echos.
Ist dies möglich Port 80 für node rd im Container iobroker?
Habe auch gelesen dass es geht muss node red als administartor ausgeführt werden.
Kann mir da jemand helfen wie ich es am besten mache?
Grüße Andy
Hallo Andreas,
da kann ich dir leider nicht so richtig weiter helfen. Das einzige was ich mal gelesen habe ist, dass du unter Umständen bestimmte Capabilities in deinem Container setzen musst, um einen „privileged port“ wie Port 80 binden zu können. Vermutlich ist dir Google dabei aber eine größere Hilfe als ich. Oder du versuchst es mal im ioBroker-Forum.
MfG,
André
Hallo André, ich habe deine V2 am laufen und möchte nun auf die V3 wechseln. Soweit ist mir glaube alles in deiner super Anleitung klar. Unsicher bin ich mir ein wenig beim Einrichten des Netzwerks für MacVlan. Als SUB-Netz ist bei mir 192.168.0.1/24 und nicht 192.168.0.0/24 vergeben. Mein Heimnetzwerk hat die iP von 192.168.0.1 – 192.168.0.255, wobei als DHCP Bereich 192.168.0.6 – 192.168.0.117 eingestellt ist. In den restlichen Bereichen vergebe ich statische IP. Die DS hat z.B. 192.168.0.125. Das Gateway Unifi (USG) hat die 192.168.0.1
Kann ich da die Anleitung übernehmen?
Vielen Dank
Hallo Sven,
bitte lies noch ein wenig zum Thema Netzwerk. Wenn ich mich nicht täusche, dann gibt es kein 192.168.0.1/24-Netz. Das wäre so wie bei mir das 192.168.0.0/24-Netz. 192.168.0.1 ist ja dein Gateway. Im Prinzip solltes du meine Einstellungen so übernehmen können. Einzig die ioBroker-IP sollte nicht wie bei mir die 100 sein, sondern eine IP außerhalb deines DHCP-Bereichs.
MfG,
André
Hallo Andrè, ich habe als Netzwerkeinstellung die 192.168.0.1/24 verwendet und es scheint auch alles zu funktionieren. in den Einstellungen im Unifi-Controller wird die Einstellung 192.168.0.0/24 nicht angenommen. Als io-broker-ip habe ich die 192.168.0.126 verwendet. Könnte Die gern ein paar Bilder zukommen lassen. Woran würde ich einen Fehler erkennen?
Danke
Hallo Sven,
bezüglich Unifi-Controller kann ich dir leider gar nichts sagen. In die Richtung habe ich keinerlei Erfahrungen. Vielleicht wirst du dazu im Forum fündig. Viel Erfolg.
MfG,
André
Danke für deine super Arbeit, die Version 3 läuft auch super. Heute habe ich aus Interesse mal ein Update durchgeführt (drei Klicks, perfekt). Es wurde wieder Node 8.16.0 und js-Controller 1.5.11 installiert..-….
Gelesen hatte ich diese Woche, bzw. In der Info vom iobroker steht, dass 10.18.0 und 1.5.12 verfügbar wäre…….
Aber du implementierst die neusten stabilen Version ja sicher nicht auf den Tag…….. Kann man denn eigentlich auch was zu Unterstützung irgendwo hinterlassen? Was du zur Verfügung stellst, wäre mir das was wert……
Grüße
Hallo Sven,
die Node-Version bleibt erstmal bei 8. Solange V10 für ioBroker nicht als „empfohlen“ gilt werde ich das nicht anfassen.
Die Version des js-controllers zieht das Image jede Nacht aktuell. Wenn du allerdings deinen alten ioBroker Ordner in die neue Version mountest, bekommst du auch deine bisherige js-controller-Version. Der controller ist nämlich im ioBroker-Verzeichnis installiert, genauso wie die Adapter auch.
Was Unterstützung angeht, da habe ich in der Sidebar auf der rechten Seite einen unauffälligen Link platziert. Schau mal unter „In eigener Sache…“. 🙂
MfG,
André
Danke für die Anleitung. Habe noch die Installation nach der alten Anleitung laufen, aber mit node 6
Zur Vorbereitung würde ich gern auf Node 8 hochrüsten und versuche es mit:
pkill io
apt-get –purge remove node
apt-get –purge remove nodejs
apt-get autoremove
-sL https://deb.nodesource.com/setup_8.x | sudo -E bash –
apt-get install -y nodejs
node -v
npm install -g npm@4
npm -v
chmod +x reinstall.sh
./reinstall.sh
Komm schon ab der 2. Zeile nicht weiter:
root@iobroker05DEZ:/opt/iobroker# node -v
v6.17.1
root@iobroker05DEZ:/opt/iobroker# pkill io
root@iobroker05DEZ:/opt/iobroker# sudo apt-get –purge remove node
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
Paket »node« ist nicht installiert, wird also auch nicht entfernt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
root@iobroker05DEZ:
Eine Idee?
Hallo Jörg,
erstelle doch einfach einen Container in z.B. Image-Version 2.0.0 und hänge eine Kopie deines ioBroker-Verzeichnisses ein. Dann ist Node im Container schon in V8 und du kannst direkt mit der reinstall.sh weitermachen…
MfG,
André
Hallo André,
danke für den Tip. Vielleicht darf ich nochmal fragen, gerade weil ich wohl fast „über dem Berg bin“. Erst habe ich versucht mich an Deine Anleitung zu halten, aber die portainer Einstellungen sahen anders aus. Da wo bei Dir der Pfad Host /opt/iobroker einzugeben ist, steht bei mir Volumes mit 5 langen Nummern zur Auswahl. Habe also versucht im Qnap Containerstation iobroker Version 3.0 zu installieren. Statische IP im Bridge Modus Pfad mit meinen Daten auf /dokker/iobroker_data gemappt. iobroker startet mit Node v8.16.0 und mit meinen Daten, allerdings mit einigen Fehlern im Log. Ich müsste wohl noch reinstall laufen lassen und den js-controller von 1.5.9 auf 1.5.11 updaten um mit der Installation fertig zu sein. sudo möchte ein Passwort von mir haben, wie ist das denn standardmäßig? Und, wie verhindere ich, dass der Startupscript bei jedem start nano packages installiert? Vielen Dank Jörg
Hallo Jörg,
ein Kennwort ist nicht vergeben, weil es eigentlich auch nicht gebraucht wird. Alles was der User iobroker können muss, darf er ohne Passwort. Der User ist auch eigentlich nicht zum Anmelden, sondern nur für den Dienst gedacht. Verbinde dich einfach als root auf die Konsole, dann sollte alles möglich sein.
Das Update des js-controllers erfolgt im Übrigen beim Ausführen von „reinstall.sh“ automatisch soweit ich weiß…
Wenn du nano und auch kein anderes Linux-Paket benötigst, entferne einfach die Umgebungsvariable „PACKAGES“, dann wird das übersprungen.
Hoffe ich konnte dir helfen.
MfG,
André
Hallo André, was mach ich nur falsch?
Innerhalb von Iobroker gebe ich im Terminal ein:
sudo reinstall.sh und bekomme als Antwort
/opt/iobroker$ sudo reinstall.sh
Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat. Normalerweise läuft es auf drei Regeln hinaus:
#1) Respektieren Sie die Privatsphäre anderer.
#2) Denken Sie nach, bevor Sie tippen.
#3) Mit großer Macht kommt große Verantwortung.
In der Console vom docker sehe ich:
[sudo] Passwort für iobroker:
egal was ich dort versuche, bekomme ich im Terminal:
Das hat nicht funktioniert, bitte nochmal probieren.
nach 3 Versuchen ist Schluss
Hi André, mit Docker Version 2.0 komm ich weiter. Vielen Dank.
Hallo André,
herzlichen Dank für deine Arbeit und die sehr guten Tutorials! Ich habe ioBroker schon seit einiger Zeit in der „alten“ Version auf der Synology laufen und bin Dank deiner Anleitungen jetzt auf die V3 umgestiegen.
Da ich nicht so Linux bewandert bin, habe ich allerdings ein Problem mit dem Z-Wave Stick, der an der Synology steckt.
Scheinbar weiß der Container vom Stick, aber ich bekomme ihn im Adapter nicht angezeigt. Alle beschriebenen Vorgangsweisen (die vorher funktioniert haben) wollen jetzt nicht mehr.
dmesg | grep tty (im Container)
[ 0.000000] console [ttyS0] enabled
[ 6.011676] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 6.038733] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 62.580574] synobios open /dev/ttyS1 success
[ 93.842391] synobios open /dev/ttyS1 success
[ 134.365577] synobios open /dev/ttyS1 success
[ 134.836602] cdc_acm 5-2:1.0: ttyACM0: USB ACM device
Vielleicht könnt ihr mir da weiterhelfen. Besten Dank im voraus und lg
Martin
Hallo Martin,
sorry, da kann ich relativ wenig zu sagen. Ich nutze keine Hardware für ioBroker an meiner DS. Habe dazu einen Raspberry Pi als Multihost Slave.
Am Besten du postest deine Frage mal im ioBroker-Forum-Thread. Da lesen einige Leute mit die u.a auch Z-Wave-Sticks an der DS betreiben. Vielleicht kann dir da jemand weiter helfen.
MfG,
André
Kein Problem – Danke!
Hallo Martin,
stehe vor der selbe Frage, allerdings will ich Zigbee einbinden. Hast Du deinen Stick schon am laufen?
Hallo Enrico,
leider nicht – bin zu doof dafür…
Hallo Enrico, ich habs jetzt doch geschafft! Ich habe in den „Advanced container settings“ unter „Runtime & Resources“ / „Devices“ einfach „/dev/ttyACM0“ (so heißt der Stick bei mir in der Synology) hinzugefügt. Nach ein wenig Spielerei mit „ldconfig“ im Container hat es dann geklappt.
Hallo André, ersteinmal vielen Dank für deine super Arbeit. Ich habe schon deine erste „Anleitung“ zur Installation auf der Synology genutzt und lief auch bis heute. Nun habe ich aber ein Problem hier mit der neuen „Version“ hier über Portainer. Portainer usw. läuft alles. Also bei mir funktioiert die „iobroker“ Installation irgendwie nich, oder?? Ich hatte die „V3“ Version schon einmal erfolgreich testweise installiert und lief auch. Nun wollte ich das ganze noch einmal einrichten aber ohne Erfolg. Schon etliche mal den Container neu eingerichtet usw. alles ohne Erfolg. Vielleicht kannst Du sehen wo es klemmt 🙂 Vielen vielen Dank schon einmal.
Log:
Actions
—————————————-
—– Image-Version: 3.0.0 —–
—– 2019-05-22 08:55:33 —–
—————————————-
Startupscript running…
Installing additional packages…
The following packages will be installed: nano
Installing additional packages done…
Changing permissions upon first run (This might take a while! Please be patient!)…
Changing permissions done…
Starting ioBroker…
Starting ioBroker done…
————————————-
—– Image-Version: 3.0.0 —–
—– 2019-05-22 12:31:40 —–
—————————————-
Startupscript running…
Installing additional packages…
The following packages will be installed: nano
Installing additional packages done…
Starting ioBroker…
Starting ioBroker done…
Und hier bei den „Stats“:
root 29492 29474 0 12:31 ? 00:00:00 /bin/bash /opt/scripts/iobroker_startup.sh
root 30412 29492 0 12:31 ? 00:00:00 tail -f /dev/null
Und dann geht nichts mehr…
Grüße Marcus
Hallo Marcus,
sieht aus als ob dein ioBroker einfach nicht gestartet wird. Versuche mal in der Kommandozeile des Containers ein „iobroker start“. Mal sehen ob er dort startet und/ oder ggf. eine Fehlermeldung wirft.
MfG,
André
Dort erhalte ich eine Fehlermeldung nach eingabe von iobroker start..
root@iobroker:/opt/iobroker# iobroker start
bash: iobroker: Kommando nicht gefunden.
Scheint als sei dein Verzeichnis leer und ioBroker nicht vorhanden. Da muss irgendwas beim Container erstellen falsch gelaufen sein….
MfG,
André
Hallo André,
danke danke für das neue sehr gut erklärte Tutorial, hat alles sehr gut funktioniert und mit dem Portainer lassen sich wirklich viele weitere Möglichkeiten Einstellen.
Wie z.B. eine extra ip des Container, läuft stabiler (beim Einrichten/Programmieren) da ich nur eine DS418play habe und es eigentlich kein Docker offiziell gibt aber da hab ich nicht die Erfahrung ob es daran lag oder es allgemein an die Weboberfläche der DS zu diskonnekt gekommen ist.
Aber im Betrieb ist es wie vorher sehr stabil 😀
Aber eine kleine Frage hätte ich noch, hast du ein USB-Stick (z.B. Zigbee) in betrieb?
mfg steven
hm was heißt es läuft als Dienst nicht richtig ? Wie ändere ich das ? Hab sehr oft restarts von iobroker
Hallo Chris,
ich weiß leider nicht was du meinst.
MfG,
André
Hallo Steven,
schön dass es auch bei dir geklappt hat. 🙂
Was USB-Devices angeht, habe ich nichts für ioBroker an der DS. Das liegt zum Einen daran, dass meine DS für Funkverbindungen nicht optimal seht, zum Anderen weil ich einfach keine Smarthome-Peripherie an der DS hängen haben möchte. Ich habe das über einen Raspberry Pi gelöst. Der dient mir als ioBroker-Slave und hängt günstig in der Mitte des Hauses. Daran hängen im Moment ein RFlink, zwei USB-Bluetooth Sticks und wenn meine letzte Bestellung kommt hoffentlich auch bals ein Zigbee-Stick.
MfG,
André
Danke für dieses gute Tutorial wieder mal.
Hatte schon die alte Version von Dir benutzt und nun auf meinem DS auf die 3er hochgerüstet.
Im Grunde alles ohne große Probleme, habe allerdings als Slave-Host noch ein RPi laufen, der wollte sich aus dem Multihost nicht rausnehmen lassen mehr, kamen nur Fehlermeldungen.
Hintergrund war der, dass ich bisher beim Docker das Netzwerk „host“ benutzt hatte, aber nun ja ein MACVLAN eingerichtet hatte mit einer anderen IP-Adresse.
Lösung: Auf dem RPi eingeloggt im Ordner /opt/iobroker/iobroker-data die Datei iobroker.json zum editieren geöffnet und darin dann die alte IP vom ioBroker-Dockersystem geändert auf die neue IP.
Neustart des RPis und dann klappt es auch wieder 😉
Danke.
Hallo Thomas,
danke für dein Feedback. Ja, Multihost ist auch noch mal so ein Thema. 🙂 Habe ich bei mir ja auch laufen. Vielleicht sollte ich dazu auch mal was machen.
Man kann übrigens die .json Datei auch per „iobroker setup custom“ über die Kommandozeile anpassen. Dann werden nämlich die Verbindungsdaten von Objects und States DB abgefragt und die iobroker.json automatisch angepasst. Gibts auch was in der ioBroker-Doku zu. Aber schön dass es bei dir läuft!
MfG,
André