Es wurde fast mal Docker

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

micst
Beiträge: 15
Registriert: 09.08.2020, 13:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 5 Mal

Es wurde fast mal Docker

Beitrag von micst » 01.09.2020, 19:02

Hallo,

mein Ziel ist es, Homematic unter Docker laufen zu lassen. Ich versuche hier mal den aktuellen Stand der Entwicklung zu sammeln und in Erfahrung zu bringen, wer gerade ebenfalls an Docker arbeitet oder Lust drauf hat.

Zunächst eine kleine Übersicht über die Informationen und Quellen die ich zu Homematic on Docker gefunden habe:
Als Target-Hardware möchte ich einen RaspberryPi 4 mit 4GB oder 8GB Speicher anvisieren um ein paar weitere "Haus"-Container laufen lassen zu können.

Zu klärende Fragen wären:
  • Fehlen in der obigen Liste noch Quellen? Die würde ich dann mit aufnehmen um die Übersicht zu wahren.
  • Wie sollte das Ziel-Image aussehen (z.B. welches OCCU Projekt sollte als Basis verwendet werden)? In dem github issue wurde bereits darüber diskutiert, es sollte aber einen Konsens geben wenn das Ganze eine echt Chance als Community-Projekt haben soll.
  • Ausgehend vom vorherigen Punkt: was müsste alles noch gemacht werden (und ggf. in welcher Reihenfolge)? Ich denke da an:
    • buildroot docker image
    • rasperrymatic build im docker image
    • erstellen von laufzeit container
    • ci pipelines
  • Ist der RaspberryPi 4 mit 4GB oder mehr eine vernünftige Ziel-Plattform? Aus dem Bauch heraus hätte ich gesagt er ist optimal, da die GPIO Funkmodule afaik funktionieren.
  • Hat jemand Lust dabei konkret mit zu machen? Mein Zeitbudget ist zwar begrenzt, aber ich sehe genug Vorteile für mich und die Community um damit den ein oder anderen Abend zu verbringen.
  • Gibt es noch mehr essentielle Fragen die sich bei einer solchen Umsetzung stellen?
Das Ganze soll keine Konkurrenz zu anderen existierenden virtualisierten Lösungen wie piVCCU sein. Ich will einfach wissen wie gut sich so eine Lösung umsetzen lässt. Dann weis ich auch wenn es nicht klappen sollte, warum ich Homematic nicht im Docker laufen lasse.

Ich fände es schön, wenn längliche Diskussionen über für und Wieder des Homematic-Betriebs unter Docker in einem separaten Thread behandelt werden könnten, um sich hier auf konstruktive Beiträge die Docker-Unterstützung betreffend konzentrieren zu können.

EDIT: Titel geändert um Ergebnis der Diskussion besser darzustellen.
Zuletzt geändert von micst am 04.09.2020, 21:28, insgesamt 1-mal geändert.

deimos
Beiträge: 3816
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Hat sich bedankt: 45 Mal
Danksagung erhalten: 326 Mal
Kontaktdaten:

Re: Es werde Docker

Beitrag von deimos » 01.09.2020, 21:29

Hi,

ich nenne dir eine Herausforderung für eine generische Docker Lösung: Du brauchst spezielle Kernel Module, welche logischerweise nicht im Container geladen werden können, sondern im Host geladen (und vorher gebaut) werden müssen und auf welche der Container dann Zugriff braucht.

Viele Grüße
Alex

micst
Beiträge: 15
Registriert: 09.08.2020, 13:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 5 Mal

Re: Es werde Docker

Beitrag von micst » 01.09.2020, 21:40

deimos hat geschrieben:
01.09.2020, 21:29
... Du brauchst spezielle Kernel Module ...
Und genau das scheint angelnu ja geschafft zu haben. Deswegen bin ich optimistisch, das es klappen sollte.

deimos
Beiträge: 3816
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Hat sich bedankt: 45 Mal
Danksagung erhalten: 326 Mal
Kontaktdaten:

Re: Es werde Docker

Beitrag von deimos » 01.09.2020, 21:45

Hi,

nein, hat er nicht. Das funktioniert bei ihm nur bei wenigen Debian basierten ARM Systemen und ändert ohne Rückfrage Dinge auf dem Host. Es ist also weit von einem generischen Ansatz entfernt.

Viele Grüße
Alex

srunschke
Beiträge: 130
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 2 Mal
Danksagung erhalten: 3 Mal

Re: Es werde Docker

Beitrag von srunschke » 03.09.2020, 16:43

CCU und "generisches XY-Image" schließen sich bei der aktuellen CCU Implementierung gegenseitig aus.

Bedingt durch die Kernelabhängigkeiten _kann_ eine CCU gar nicht auf einem generischen Containerhost laufen - egal ob Docker oder etwas anderes. Ursache ist einfach die Abstraktionsschicht, die das Containerisieren (was ein Kackwort...) einzieht - was aber halt nun mal die Existenzgrundlage einer solchen Lösung ist. Bei Docker ist sie sehr "hart", weil das Image sehr wenig darf. Man kann zwar einiges davon mit speziellen Parametern im docker run aushebeln, aber das ist auch weit von "userfriendly" entfernt. Bei anderen Lösungen, wie systemd-nspawn hat man da etwas mehr Freiheit, aber am Kernelproblem ändert es nicht viel.
Ich habe mal debmatic in einem systemd-nspawn ans Laufen gebracht, aber halt auch nur durch Manipulation des Host-Systems, was halt auch weit von "generisch" entfernt ist. Was nutzt es einen speziellen Containerhost zu bauen, den man nur für einen Container braucht? Dann kann man das mit dem Container auch gleich sein lassen. Bei mir war es halt der spezielle Anwendungsfall, dass ich auf dem gleichen Containerhost auch noch etwas anderes laufen lassen wollte. Und um die Ressourcen besser zu nutzen und verwalten zu können, habe ich über die Container separiert. Aber am Ende war es mir dann doch so viel Gefummel und noch mehr Systeme, die ich warten müsste, dass ich das Projekt erst mal pausiert habe...

Solange es keine Möglichkeit gibt, die aktuell benötigten Module für die Funklösung aus dem CCU Core auszulagern und in eine reine Softwarelösung mit beispielsweise einer IP Anbindung, wie ein Messagebus o.ä., umzubauen, wird man es auch nicht in eine generische Containerlösung bekommen fürchte ich. Aber dann hast du außerhalb trotzdem noch ein zweites System, was für dich das Funken übernehmen muss - sehe dann da den Vorteil nicht so wirklich. ;)

S

micst
Beiträge: 15
Registriert: 09.08.2020, 13:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 5 Mal

Re: Es werde Docker

Beitrag von micst » 04.09.2020, 21:24

srunschke hat geschrieben:
03.09.2020, 16:43
... Was nutzt es einen speziellen Containerhost zu bauen, den man nur für einen Container braucht? Dann kann man das mit dem Container auch gleich sein lassen...
Damn, das ist mal eine gute Erklärung. Das Ganze macht natürlich genau so lange Sinn wie man "normale" Images dann auch verwenden kann. Eine Homematic-Registry für Docker zu betreiben ist dann doch eher Lebensaufgabe (in doppeltem Sinn).

Meine Motivation für den Container-Betrieb ist, weitere "Auswertesoftware" (ioBroker, Home Assistant, ...) direkt auf der Homematic-Hardware zu betreiben. Ein zentrales Gerät zu haben, welches sich um die komplette Haus-"Intelligenz" kümmert finde ich vorteilhaft. Daher rühren auch meine bisherigen threads zum allgemeinen Scripting, bzw. zur Wiederverwendbarkeit von Scripten.

Ich habe das Gefühl wenn ich nicht auf eine möglicherweise hochgradig instabile Eigenbau-Lösung setzen will, muss ich mich auf der RaspberryMatic mit dem Konzept der Addons auseinandersetzen bzw. sehen was ich in selbst gebautes Buildroot System integrieren kann.

In diesem Sinne: danke für die erleuchtenden und sachlichen Kommentare, es hat mir wahrscheinlich sehr viel Arbeit erspart.

deimos
Beiträge: 3816
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Hat sich bedankt: 45 Mal
Danksagung erhalten: 326 Mal
Kontaktdaten:

Re: Es wurde fast mal Docker

Beitrag von deimos » 04.09.2020, 21:30

Hi,

sofern du dich von Docker lösen kannst, gibt es auch andere Lösungen für dein Grundproblem.

Viele Grüße
Alex

micst
Beiträge: 15
Registriert: 09.08.2020, 13:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 5 Mal

Re: Es wurde fast mal Docker

Beitrag von micst » 04.09.2020, 22:43

Selbstverständlich kann ich das. Was wären denn konkrete Ideen/Vorschläge wie ich am besten auf die raspberrymatic Hardware weitere Software bekomme?

deimos
Beiträge: 3816
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Hat sich bedankt: 45 Mal
Danksagung erhalten: 326 Mal
Kontaktdaten:

Re: Es wurde fast mal Docker

Beitrag von deimos » 04.09.2020, 22:49

Hi,

Eine Möglichkeit:
piVCCU3 läuft auf Raspbian oder Armbian und hat die CCU in einem LXC Container. Die anderen Dinge dort dann auf den Host oder in weitere LXC Container.

Andere Möglichkeit:
x64 Hardware wie z.B. Intel NUC mit Proxmox, Funkmodul per HB-RF-USB-2 oder HB-RF-ETH angebunden und in einer VM debmatic und in anderen VMs dann die anderen Dinge.

Viele Grüße
Alex

SoerenR
Beiträge: 650
Registriert: 19.03.2019, 10:10
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 43 Mal
Danksagung erhalten: 55 Mal

Re: Es werde Docker

Beitrag von SoerenR » 05.09.2020, 07:37

micst hat geschrieben:
04.09.2020, 21:24

Meine Motivation für den Container-Betrieb ist, weitere "Auswertesoftware" (ioBroker, Home Assistant, ...) direkt auf der Homematic-Hardware zu betreiben. Ein zentrales Gerät zu haben, welches sich um die komplette Haus-"Intelligenz" kümmert finde ich vorteilhaft. Daher rühren auch meine bisherigen threads zum
Was spricht den gegen ein Synology NAS? Kann das was du möchtest. Alles Vereint in einem Gerät und noch mehr. Zb Datensicherung vom PC, Fileserver usw. und mit der neuen Platine von Alex kannst du das Funkmodul überall Positonieren wo dein LAN Kabel hinreicht oder schon liegt. Somit kann das NAS zb in den Keller und das Funkmodul ins 1.OG.
Gruß Sören

RaspberryMatic // Philips Hue // HomeKit // und ein paar Spielerreien

Antworten

Zurück zu „RaspberryMatic“