NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
ÜBERARBEITUNG dieses Beitrags am 15.10.2020
Es ist viel Wasser die Elbe hinab geflossen und auch der ioBroker unter Docker hat sich verändert, sodass dieses Thema in seine Komplexität schlicht nicht (mehr) in einen Post passt.
Aus diesem Grund ist das Tutorial aus diesem Post nicht mehr aktuell und wird auch nicht weiter gepflegt.
Für weitere Informationen zum Thema ioBroker unter Docker (mit oder ohne Synology DiskStation) stelle ich euch ab heute eine eigene Website zur Verfügung welche ich Stück für Stück mit relevanten Informationen zum Thema erweitern werde. Dieses und weitere Tutorials findet ihr ab sofort unter:Direktlink:
(https://smarthome.buanet.de/2019/05/iobroker-unter-docker-auf-der-synology-diskstation-v3/)Selbstverständlich bleibt dieser Threat hier als Support-Thread geöffnet. Es wird auch von niemanden verlangt die 2000+ Post zu lesen! Trotzdem hoffe ich. dass ihr den Thread vor dem Stellen der Frage einmal durchsucht.
@Glasfaser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Danke andre , für deine kurze Stellungnahme
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das kann man sicher nicht erwarten! Was ich aber beobachte ist, dass offenbar nur die Wenigsten wissen, dass man auch einen Thread durchsuchen kann. Denn dann werden aus 2100 Beiträgen plötzlich nur 20 oder 30 Posts zu einem bestimmten Thema... Immer noch
mühsam, aber das ist eben so!Damit andere wissen was du meinst :
In User Einstellung aktivieren :
STRG + F
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Original Post vom 2. Februar 2017
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKleine Wette:
Ich wette, dass es möglich ist ioBroker in weniger als zwei Minuten in Betrieb zu nehmen ohne einen einzigen Befehl in eine Kommandozeile einzutippen.
Spaß beiseite, ich habe mich in den vergangenen Tagen einmal ausgiebig mit dem Virtualisierungstool Docker beschäftigt. Herausgekommen ist dieses kleine aber feine Setup inkl. einem ioBroker-Docker-Image auf Basis von Debian. Vielleicht ja eine echte Alternative zu Einplatinen-Rechnern oder Dauerlauf-PCs….
Vorraussetzung:
- Unterstütze Synology DiskStation mit installiertem Docker Paket (https://www.synology.com/de-de/dsm/app_packages/Docker)
Dann kann es auch schon los gehen…
Schritt 1: Image herunterladen
Öffne den Bereich "Registrierung" in der Docker-Oberfläche auf des Synology DiskStation und gebe in das Suchfeld "iobroker" ein. Markiere das Image "buanet/iobroker" und klicke auf dne Downloas-Button. Das Image wird nun heruntergeladen.
Schritt 2: Container aus Image erstellenÖffne den Bereich "Abbild" in der Docker-Oberfläche. Hier sollte nun das Image "buanet/iobroker:latest" zur Verfügung stehen. Wähle das Image aus und klicke auf den Starten-Button.
Es öffnet sich ein Wizard zum Erstellen eines Containers. Vergebe einen Containernamen und klicke auf den Button "Erweiterte Einstellungen".
In den Erweiterten Einstellungen wähle das Kontrollkästchen "Automatischen Neustart aktivieren" aus um sicherzustellen, dass der Container sich im Fehlerfall selbstständig neu startet.
Unter Netzwerk wähle "Dasselbe Netzwerk wie Docker Host verwenden". Diese Einstellung sorgt dafür, dass siche ioBroker später "anfühlt" als würde es direkt auf der DiskStation laufen und vermeidet Probleme mit dem Hostnamen.
Schließe die Erweiterten Einstellungen mit OK, und klicke den Weiter-Button. In der Zusammenfassung sind nochmals alle Einstellungen aufgeführt. Klicke auf "Übernehmen".
Schritt 3: Container überprüfenÖffne den Bereich "Container" in der Docker-Oberfläche. Hier sollte nun der erstellte Container erscheinen. Prüfe ob der Container eingeschaltet ist und sich im Status "Läuft" befindet.
Wähle den Container aus und klicke auf "Details".
Unter "Prozess" siehst du ob ioBroker erfolgreich gestartet ist. Falls dem so ist, sieht es ungefähr so aus:
Unter "Terminal" hast du direkten Zugriff auf die Kommandozeile des Containers. Sollte die Kommandozeile leer sein, klicke in das große graue Feld und drücke Enter. Nun sollte es wie folgt aussehen:
Über die Kommandozeile kannst du nun z.B. optionale Softwarepakete nachinstallieren (manche Adapter/ Funktionen benötigen das) oder auch mit den bekannten Befehlen deine ioBroker-Installation steuern, wie z.B. einen Neustart des Dienstes:cd /opt/iobroker iobroker stop iobroker start
Schritt 4: ioBroker Weboberfläche öffnen
Wenn der Container ordnungsgemäß eingerichtet und gestartet ist, sollte deine neue ioBroker-Installation nun über das Webinterface erreichbar sein. Öffne dazu einfach den entsprechenden Pfad in einem Webbrowser:
http://[name_oder_ip_der_diskstation]:8081
Als kleines Goodie obendrauf, hier die Anleitung nochmal als kleines Video: https://www.youtube.com/watch?v=G-A3Q1Pq0YQ
Ich habe meine ioBroker Installation vor 2 Tagen auf Docker umgezogen. Bisher keine Probleme.
Aktuell habe ich noch kein automatisiertes Backup aktiv (muss noch ein Script schreiben). Manuell lässt sich der ioBroker Container ganz einfach über die Docker-Öberfläche sichern: Bereich "Container", ioBroker Container auswählen, unter "Einstellungen" > "Export" wählen und "Containerinhalt und -einstellungen exportieren". Dann lässt sich das Backup direkt auf der Synology ablegen.
MfG,
André
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hinzugefügt am 08.03.2017
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEs gibt ein neues Docker-Image im Docker Hub (sobald es fertig generiert ist). Darin enthalten jetzt ein Fix für die Zeitzone. Es sollte ab sofort automatisch Europe/Berlin eingestellt sein.
Außerdem habe ich ein bisschen rum experimentiert und es jetzt ermöglicht auch Updates des Docker Images einfach einspielen zu können. Dazu liegt mein ioBroker-Verzeichnis jetzt direkt auf der Synology und wird nur in den Container gemountet. Dies ermöglicht es nun den Container aus zu tauschen und meine ioBroker-Installation bei zu behalten.
Das Ganze betrachte ich jetzt mal als Thema für "Fortgeschrittene" weshalb ich meine Anleitung jetzt auch ein wenig kürzer fasse.
Advanced Schritt 1.
ioBroker-Verzeichnis "erstellen" (oder halt ein eigenes Backup nehmen):
Damit wir ein lauffähiges ioBroker-Verzeichnis bekommen muss einmal ein Container nach der obigen Anleitung erstellt werden. Läuft der Container, kann man über die Kommandozeile einfach ioBroker stoppen und das komplette ioBroker-Verzeichnis aus dem Container heraus auf die Synology kopieren, z.B. in den Ordner /volume1/docker/iobroker.
Ich habe dazu den ioBroker-Ordner im Container in ein .tar-Verzeichnis gepackt, über ein gemountetes Verzeichnis auf die Synology kopiert und dort wieder entpackt.
Advanced Schritt 2.
Den Container aus Advanced Schritt 1 löschen und einen neuen erstellen (gerade gesehen, man muss nicht löschen, man kann auch bearbeiten). In Schritt zwei der "einfachen" Anleitung vor dem Schließen der erweiterten Einstellungen die Registerkarte "Volume" öffnen und den Pfad /opt/iobroker im Container auf den Pfad im Dateisystem der Synology (z.B. /docker/iobroker) mounten. So sieht das aus:
Wichtig: Der Ordner auf der Synology muss sich in einem "gemeinsamen Ordner" befinden welcher über die Oberfläche des DiskStation angelegt worden ist. Bei mir ist das der Ordner "docker" (Im Filesystem der DiskStation also /volume1/docker).Advanced Schritt 3.
Weiter wie in der Anleitung oben.
Wir sollten nun einen Docker-Container haben, der für das ioBroker-Verzeichnis auf das Dateisystem der DiskStation zugreift.
Falls es nun vielleicht ein Update des Images gibt, können wir das Image einfach herunter laden, den alten Container deaktivieren oder löschen und wie beschrieben einen neuen Container mit gemountetem Verzeichnis aus dem neuen Image erstellen. Die ioBroker Installation bleibt davon unberührt (auf der DiskStation).
-
Hallo Andre
Sounds good!
Aber:
@andre:ohne einen einzigen Befehl in eine Kommandozeile einzutippen. `
@andre:Über die Kommandozeile kannst du nun z.B. optionale Softwarepakete nachinstallieren (manche Adapter/ Funktionen benötigen das) oder auch mit den bekannten Befehlen deine ioBroker-Installation steuern, wie z.B. einen Neustart des Dienstes: `
SCNR :mrgreen:Spaß beiseite, `
OK! Wie sieht es mit Hardwareanbindungen wie CUL oder RF-Link via USB aus? wird der USB in den Container weitergegeben?Oder brauche ich dann ein Satellitensystem in Form eines RasPi?
Gruß
Rainer
-
Hallo Andre
Sounds good!
Aber:
@andre:ohne einen einzigen Befehl in eine Kommandozeile einzutippen. `
@andre:Über die Kommandozeile kannst du nun z.B. optionale Softwarepakete nachinstallieren (manche Adapter/ Funktionen benötigen das) oder auch mit den bekannten Befehlen deine ioBroker-Installation steuern, wie z.B. einen Neustart des Dienstes:
SCNR :mrgreen:
Das hatte ich erwartet. Ist aber tatsächlich ein KANN, war nur als Hinweis aus die Konsole gedacht. Für die Installation des nackten ioBroker wird dort keine Aktion benötigt…. Aber wenn ich ehrlich bin, musste ich nach der Installation noch die Zeitzone korrigieren, per Kommandozeile... Den Hinweis muss ich noch ergänzen...
@Homoran:Spaß beiseite, `
OK! Wie sieht es mit Hardwareanbindungen wie CUL oder RF-Link via USB aus? wird der USB in den Container weitergegeben?Oder brauche ich dann ein Satellitensystem in Form eines RasPi?
Gruß
Rainer `
Was Hardwareanbindungen angeht, dafür nutze ich persönlich einen Cubietruck als Multihost. Die meisten Adapter kommen aber ja ohne Hardware aus… Ob es (einfach) möglich ist USB an den Container weiter zu reichen, mag ich zu bezweifeln. Docker ist schließlich dafür konzipiert ohne Hardwarevirtualisierung aus zu kommen. Werd mich da aber nochmal schlau machen.MfG,
André
Gesendet von iPad mit Tapatalk
-
OK! Wie sieht es mit Hardwareanbindungen wie CUL oder RF-Link via USB aus? wird der USB in den Container weitergegeben?
Oder brauche ich dann ein Satellitensystem in Form eines RasPi? `
Es geht! Man kann entweder ein einzelnes Gerät durch reichen (nur bei Starten des Containers per Kommandozeile der Diskstation) oder man gibt dem Container erweiterte Berechtigungen (Screenshot 3 "Container mit hoher Priorität ausführen" anhaken). Im letzteren Fall bekommt der Container dann vollen Zugriff auf die DiskStation und die angeschlossenen Geräte.MfG,
André
Gesendet von iPad mit Tapatalk
-
Hallo Andre,
weißt Du ob Docker auf allen Synologys läuft ?
Kann Docker im Packetzentrum nicht finden.
Habe eine DS214
Gruß,
Michael
-
weißt Du ob Docker auf allen Synologys läuft ? `
nein ist Geräte- (wahrscheinlich CPU-)abhängigGruß
Rainer
-
Hallo Andre,
weißt Du ob Docker auf allen Synologys läuft ?
Kann Docker im Packetzentrum nicht finden.
Habe eine DS214
Gruß,
Michael `
Schau mal ganz oben, da ist ein Synology-Link (Docker bei Synology). Da sind alle unterstützten Modelle aufgelistet.MfG,
André
Gesendet mit Tapatalk.
-
Hallo Andre,
wenn ich iobroker in Docker am laufen und auch alle Adapter installiert habe, wie bekomme ich dann meine Daten aus meiner bisherigen Installation in das Verzeichnis iobroker-data kopiert?
Hast Du evtl. auch Erfahrungen dazu gemacht, wo iobroker "schneller" läuft, d. h. in Docker oder "ganz normal" auf der selben Synology NAS installiert? Meine NAS (DS412+, 4GB RAM) läuft leider sehr langsam mit iobroker, unter ccu.io konnte ich die views in 1 bis 2 Sekunden ändern, jetzt brauchen sie mitunter 30 Sekunden bis alle Inhalte dargestellt werden. Über die Performance der Android-App möchte ich an dieser Stelle gar nicht reden, da reden wir über Minuten bis Stunden…
Beste Grüße
Australier
-
Hallo Andre,
wenn ich iobroker in Docker am laufen und auch alle Adapter installiert habe, wie bekomme ich dann meine Daten aus meiner bisherigen Installation in das Verzeichnis iobroker-data kopiert?
Hast Du evtl. auch Erfahrungen dazu gemacht, wo iobroker "schneller" läuft, d. h. in Docker oder "ganz normal" auf der selben Synology NAS installiert? Meine NAS (DS412+, 4GB RAM) läuft leider sehr langsam mit iobroker, unter ccu.io konnte ich die views in 1 bis 2 Sekunden ändern, jetzt brauchen sie mitunter 30 Sekunden bis alle Inhalte dargestellt werden. Über die Performance der Android-App möchte ich an dieser Stelle gar nicht reden, da reden wir über Minuten bis Stunden…
Beste Grüße
Australier `
Hallo,
um Daten von der Synology in einen Container zu kopieren kann man ein Verzeichnis "durchreichen", also mounten. Das Ganze findet man in der Docker-Oberfläche unter Volumes. Ich habe mir zum rüber kopieren den Ordner /Volume1/transfer vom Filesystem der Synology als /opt/transfer in den Container gemountet. Und dann über die Kommandozeile kopiert (bei mir den kompletten ioBroker-Ordner). Wenn ich wieder am PC bin kann ich meiner Anleitung gerne noch einen entsprechenden Screenshot anhängen…
Was das "schneller" angeht, habe ich zwischen direkter Installation und Docker-Installation keinen Unterschied feststellen können. Allerdings kann man für jeden Container die Priorität setzen oder gar Ressourcen (z.B. RAM) begrenzen und so ggf. ein wenig regulierend eingreifen.
Bei mir läuft das ganze Setup übrigens auf einer DS1515+ mit 6GB RAM parallel zu SQL Datenbank, Plex, Surveillance Station mit 4 Kameras und Tvheadend TV-server mit DVB-S2 Tuner und Recording/ Timeshift Funktionen. Ressourcenprobleme habe ich dabei nicht.
Kann mir aber auch schlecht vorstellen, dass das Backend so entscheidend für Vis ist. Meine Erfahrung sagt da eher, dass die Geschwindigkeit eher abhängig vom anzeigenden Client ist... Bei mir ist es jedenfalls so.
MfG, André
Gesendet mit Tapatalk.
-
Hallo Andre,
Danke für Deine Hilfe.
Ich habe es jetzt gewagt und bin mit iobroker auf meine andere NAS (DS1815+, 16GB RAM) umgezogen, auf der CCU.IO bisher lief. Was soll ich sagen, es läuft alles etwas schneller als auf der anderen NAS, aber immer noch weit weg von einer akzeptablen Performance.
Das mit der Performance und dem anzeigenden Client mag stimmen, zumindest mir dem iPad Air wird alles schon ziemlich flüssig angezeigt, mit meinen Galaxy Tab 4 sieht es aber sehr schlecht aus. Was mich nur wundert ist, dass auf diesem das Umschalten eines Views bei Verwendung der CCU.IO bisher nur ca. 1-2 Sekunden dauerte und jetzt reden wir von ca. 25 Sekunden. Brauchen die gleichen Widgets denn jetzt alle mehr Rechenpower oder sind neue dazu gekommen, die ein vielfaches an Rechenpower brauchen?
Wie haben denn andere Synology-Nutzer ihre Views denn immer schnell im Zugriff oder bin ich da nur etwas zu "verwöhnt" gewesen, vom IST-Zustand unter CCU.IO bisher?
Hat jemand auf einer Synology übringends inzwischen auch den Harmony-Adapter am laufen? Die Fehlermeldung mit der 25 am Schluss und der Aufforderung git zu installieren habe ich nicht wegbekommen, egal wie oft und wie auch immer ich git installiert oder dies versucht habe. Auch unter Docker ist es mir nicht gelungen.
Beste Grüße
Australier
-
So, neuer Anlauf
Selbstverständlich hat ioBroker wesentlichmehr Widgets als ccu.io.
Außerdem haben die Widgets bei ioBroker einen höheren Funktionsumfang.
In ioBroker gibt es zusätzlich eine Benutzerverwaltung, die bis auf Widgetebene greift, weiterhin auch eine Authentifizierung.
Also hat ioBroker deutlich höhere Anforderungen an die Hardware sowohl was Server, als auch was Frontend angeht.
Aber:
25 Sekunden bei Viewwechsel sollten nicht sein.
-
Wie lange ist es denn am PC?
-
liegt es ggf. am WLAN?
-
wie groß sind deine Views?
-
Wie groß das gesamte Projekt?
-
verwendest du Bindings?
Mach mal bitte einen Screenshot von dem (am meisten) betroffenen View.
Gruß
Rainer
-
-
Auf dem PC dauert es ca. 1 Sekunde. An der WLAN-Verbindung sollte es nicht liegen, diese ist zumindest so performant, dass ich darüber auf meinen Tab4 Sky HD oder ZDF HD streamen kann. Ich habe 2 Projekte angelegt, wie groß diese sind kann ich leider nicht sagen, weil ich nicht weiß wo ich hierfür nachschauen müsste. Ich lasse jedoch jede Nacht automatisch ein Backup im Format tar.gz erstellen, dieses hat 1280KB zurzeit. Der View der am längsten dauert habe ich beigefügt, abgesehen von den neuen Widgets auf dem weißen Hintergrund entspricht dieser View im Wesentlichen dem View unter CCU.IO.
Was sind Bindings? Sorry, ich bin leider noch nicht so tief in der Materie drin wie ich eigentlich möchte :roll:
1940_rolladen.jpg -
Habe gestern auch mal einen Docker auf der Synology ausprobiert weil ich gerne die homekit Sache testen wollte was ja so auf der Synology nicht geht. Nach dem Installieren der Paket und per Hand Starten von D-Bus und avahi-daemon muss ich sagen das das ganze super rennt. Hab auch RFLink Geräte mit drin das klappt auch mit dem USB Adapter ohne Probleme.
Vielen Dank für das Docker Image
-
@Rainer: Könnte es vielleicht an meinen Einstellungen in vis zum Projekt oder an denen im Fully Kiosk Browser liegen, dass die Performance in vis bei mir so schlecht ist? Habt ihr irgendetwas Besonderes eingestellt? Anbei meine Einstellungen in vis zum Projekt zur Info, mit diesen Werten ging es so einigermaßen, doch auch hier hatte ich die ca. 25s beim Umschalten eines Views bis dieser komplett aufgebaut war.
Beste Grüße
Alexander
1940_einstellungen_f_r_projekt.jpg -
Hallo Alexander,
ich habe mir den View mal eben schnell angesehen, so groß sollte der nicht sein. ich Tippe da eher auf das RAM.
Meines Wissens hat das Tab4 nur 1,5 GB RAM. Wenn das nicht reicht, muss dauernd neu nachgeladen werden.
Im Gegensatz zu Videostreaming muss das Tablet alle Widgets einzeln berechnen aus den CSS Daten. Das kostet Rechenpower und je weniger freies RAM existiert, desto langsamer geht es.
Was der fully Kiosk dann sonst noch treibt weiss ich nicht.
sind denn die Views auf die Auflösung des Tab4 optimiert?
Hast du es mal mit der ioBroker vis App versucht?
Gruß
Rainer
-
Hallo Rainer,
die App ist leider auf meinen Tab4 gar nicht zu gebrauchen, da bin ich nicht bei 25s sondern bei Minuten bis Stunden (für Resync). Was meinst Du mit der Optimierung der Auflösung für das Tab4 genau? Ich habe mir damals unter CCU.IO/Dashui die Views so angelegt, dass sie genau in das Display des Tab4 passen und dies dann per Export und Import dann auch so in iobroker/vis weiter verwendet.
Am Wochenende werde ich einmal schauen ob ich das RAM eines meiner Tab4 per microSD erweitern kann und ob es dann wirklich deutlich schneller wird.
Beste Grüße
Alexander
-
Hallo Rainer,
ich habe jetzt auch mein Projekt als Datei "gefunden", dies ist eine Datei mit der Bezeichnung vis-views.json und hat zurzeit eine Größe von 6.724 KB.
Beste Grüße
Alexander
-
Das ist ja Wahnsinn!
Alle die Probleme haben, haben große dateien, aber das hat noch keiner geschafft
Anscheinend gehen die Probleme um 2000 kb los.
Gruß
Rainer
-
Hallo Rainer,
Danke, dann weiß ich ja jetzt zumindest wo ich suchen muss, bzw. woran es vermutlich liegt mit der schlechten Performance. Weißt Du (oder vielleicht sonst jemand) wie die vergleichbare Datei unter CCU.IO heißt und wo diese liegt, damit ich mir einmal deren Größe anschauen kann?
Beste Grüße
Alexander
-
Hallo Alexander,
Ich habe im Moment keine ccu.io Installation mehr.
Aber die Datei hiess auch ähnlich, so in etwa: dashui-views.json.
Gruß
Rainer
Edit: wozu eine Suche im HM Forum doch gut ist
/opt/ccu.io/datastore/dashui-views.json