openHAB 2: Installation mit Docker auf der Synology DS

openHAB bietet einen Vielzahl von Möglichkeiten abseits von Alexa und Co, Smarthome bei sich lokal auf einer Synology DiskStation zu betreiben. Auch bei der Installation gibt es verschiedene Herangehensweisen – eine davon wurde bereits hier vorgestellt „openHAB 2: Installation auf der Synology DS„. Allerdings bietet die Installation mit dem Virtualisierungscontainer Docker eine einfachere Möglichkeit das System zu konfigurieren und auf dem neusten Stand zu halten. Da der Container abgekoppelt von den Benutzerdaten liegt, kann das Paket ohne Probleme durch ein Aktuelleres ersetzt werden ohne vorab ein Backup dieser erstellen zu müssen. Durch die Virtualisierung lassen sich so auch die verfügbaren Ressourcen besser einteilen, was vor allem bei leistungsschwächeren Diskstations ein großer Vorteil ist. Welche Art der Installation man im Endeffekt wählt, hängt stark vom Administrator ab. Meinen Erfahrungen nach würde ich auf jeden Fall zur virtualisierten Variante mit Docker greifen.

 

Voraussetzungen

Leider steht das Paket „Docker“ nicht jeder DiskStation zur Verfügung. Vor allem günstigere Modelle wie J-Serie bietet hier keine Unterstützung und fallen dabei aus dem Rennen. Für all jene Modelle, welche Docker supporten, ist es eine hervorragende Alternative zur umständlichen Paketinstallation. Eine Liste aller unterstützten DS findest du hier: Zusatzpaket Docker

Zusätzlich müssen wir dem Container spezielle Ordner zur Verfügung stellen, in denen die Benutzerdaten von openHAB abgespeichert werden können. Dazu aber später mehr.

 

Installation

Die Installation von Docker sollte kein großes Problem darstellen. Hierzu muss nur das Paketzentrum aufgerufen und das Keyword „Docker“ eingegeben werden. Nach der Installation begrüßt uns im Hauptmenü bereits der lächelnde Wal.  Das Menü von Docker ist sehr übersichtlich gestaltet und vergleichbar mit dem des Virtual Machine Manager von Synology.

Docker Interface

Auf einem Blick bekommt man hier alle wichtigen Informationen, wie beispielsweise die Systemauslastung sowie die aktiven Container. Unter dem Reiter „Registrierung“ kann man den openHAB-Container suchen und installieren. Dabei hat man die Wahl zwischen verschiedenen Releases wie latest, milestone oder snapshot. Zu welcher Version man tendiert, hängt auch wieder stark vom Administrator und der eingesetzten Umgebung ab:

  • Latest: Bereits ausgiebig getestet, erscheint allerdings daher auch erst etwas später.
  • Milestone: wurde ebenfalls getestet, könnte allerdings noch Fehler enthalten. Dafür bekommt man diese Version schon etwas früher.
  • Snapshot: Wenig getestet allerdings dafür schnellste Veröffentlichung

In meinem Fall greife ich zum „milestone-debian“ Release.

Auswählen des openHAB Containers in Docker.

Ist der Container erst einmal installiert (dürften um die 500MB sein), scheint er im Reiter „Abbild“ auf. Von hier aus findet auch die weitere Konfiguration statt. Dabei kann unter anderem ein Name, sowie die maximalen benutzbaren Ressourcen zugeteilt werden. Zuvor müssen wir allerdings 3 Ordner für die Benutzerdaten von openHAB anlegen. Dazu bietet sich der automatisch erstellte „Docker“ Ordner im „Root“-Verzeichnis an. Einfach die File Station öffnen, in den Ordner Docker browsen und drei neue Ordner mit den Namen addons, conf und userdata anlegen.

Anschließend können wir mit der Konfiguration unseres Containers fortfahren. Das Menü ist dabei relativ selbsterklärend, wichtig ist hierbei nur, dass man die erweiterten Einstellungen aufruft und dort folgende Einstellungen vornimmt:

Erstellen von Mointpoints in den Einstellungen.

Unter Netzwerk muss noch der Hacken bei „Dasselbe Netzwerk wie Docker Host verwenden“ gesetzt werden und das war es dann auch schon.

Man kann den Docker Container auch mit einer virtuellen IP im Bridge Mode laufen lassen, allerdings sind dann nicht alle Funktionen gegeben. Beispielsweise sind dann keine Magic Packets (Wakup-on-Lan) möglich.

 

Abschließend

Dadurch, dass wir die Ordner auf externe Pfade ausgelagert haben, bleiben diese auch bestehen, wenn wir den aktuellen Docker-Container löschen sollten. Das ist jedes Mal der Fall, wenn wir beispielsweise ein Update einspielen möchten. Hierzu löscht man den aktuellen Container, läd die aktuelle Version herunter und konfiguriert diese wie oben beschrieben.

You may also like...

Abonnieren
Benachrichtige mich bei
guest
21 Comments
Älteste
Neuste Meist bewertet
Inline Feedbacks
View all comments
Patrick
Patrick
4 Jahre zuvor

Hallo Kevin
Danke für deine Anleitung sie hat mich extrem weiter gebracht.
Folgends Problem habe ich . Ich kann nun Openhab im Docker laufen lassen und über die Paper UI habe ich nun bereits ein KNX / IP Binding und Thing erstellt.
Leider wird dies aber nicht in den vordefinierten Ordner abgelegt sonder sonst irgendwo.
Es scheint mir als gäbe es da irgendwo noch ein Verzeichnis.

Wenn ich das ganze dann per Text programmiere bringe ich das KNX Binding nicht hin..
Kannst du mir hier weiterhelfen ?

eiGelbGeek
eiGelbGeek
4 Jahre zuvor

Über die WebUI vom Docker bekomme ich ein USB Gerät nicht angebunden oder? (ZWave Stick)

NoTechi
NoTechi
4 Jahre zuvor

Schöne Anleitung, kurz aber alles Notwendige 🙂
Eine Frage zum update, wenn ich items nur via paperui definiert habe, werden diese wohl in der jsondb gespeichert. Wo liegt diese oder anders gefragt sind meine items nach einem docker update von opanHab noch da?
NoTechi

Tom
Tom
4 Jahre zuvor

Hallo, ebenfalls vielen Dank für diese ersten Schritte … sehr gut beschrieben. Meine Frage wäre wie ich im „Terminal“ weiterkomme … also ssh um z.B. einen Befehl wie „sudo openhabian -config“ abzusetzen (oder ins rules-Verzeichnis zu gelangen …

Tom
Tom
Reply to  Kevin
4 Jahre zuvor

Ah jetzt ja … ich komme grundsätzlich „rein“ … und sehe, dass hier wohl ein wirklich extrem rudimentäres Betriebssystem läuft … es gibt ja keinen „Editor“ soweit ich das sehe (bei Aufruf von NANO erhalte ich ein „command not found“) … insofern frage ich mich wie hier wirklich „gearbeitet“ werden kann – nur mit der experimentellen Rules-Engine innerhalb der PaperUI …?

Tom
Tom
Reply to  Tom
4 Jahre zuvor

uiuiui, beim Verfassen des obigen Posts war ich geistig wohl schon eingeschlafen – natürlich müsste ich NANO auf der Synology installieren und es würde dann auch für den Docker-Container „OPENHAB“ zur Verfügung stehen – also ich gehe zumindst stark davon aus.
Deshalb vielleicht eine andere Frage – ich „fände“ die Openhab-UI „HABMIN“ zur Regelerstellung ganz elegant – hier kann ich aber (vermutlich aufgrund fehlender Schreibrechte) keine Regeln erstellen. Kann sich dies jemand erklären?

CarstenHaßler
CarstenHaßler
4 Jahre zuvor

Hallo, ich habe scheinbar ein Problem mit der Netzwerkadresse. Wenn ich IP der DS mit :8080 verwende komme ich nur auf die Übersicht der bei mir laufenden Shelly´s – kann bzw soll ich bei der Docker Installation denn Port manuell vergeben ? und wenn ja wie ?

Grüße

Geri
Geri
3 Jahre zuvor

Hallo Kevin,
 
ich hab versucht nach deiner Anleitung Openhab im Docker laufen zu lassen und meine Konfiguration vom Raspberry zu übertragen. Openhab funktioniert ja, jedoch gehen meine Bindings nicht mehr (HTTP, Modbus), Fehlermeldung no route to host. Hast du eine Idee?

Mutschas
Mutschas
3 Jahre zuvor

Hallo und ein gutes neues Jahr. „openhub/openhub“ wird bei mir im Docker unter „Abbild“ nicht gefunden. Was mache ich falsch?

Mutschas
Mutschas
Reply to  Kevin
3 Jahre zuvor

Hallo,

danke.

Auch das habe ich schon versucht, leider tauchen nur die Ergebnisse im Anhang auf.

Mutschas
Mutschas
Reply to  Mutschas
3 Jahre zuvor

Hallo,

hast du einen Tipp für mich?

Mutschas
Mutschas
Reply to  Kevin
3 Jahre zuvor

Hallo,

hmm, ich verwende die DS916+ mit DSM 6.2.3-25426 Update 2. Und du?

21
0
Hinterlass' doch deine Meinung zu diesem Artikelx