Seite 2 von 7
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 29. Nov 2022 13:53
von udo1toni
Ich verstehe ehrlich gesagt nicht, warum Du so darauf bestehst. Es ist schlicht nicht sinnvoll, das zu tun. Natürlich kannst Du es tun, es ist dann aber kacke.
Ach so...
openHABian ist erst mal eine Scriptsammlung. Man kann es auf einem GNU/Linux System einrichten, welches die Paketverwaltung apt nutzt (eventuell gehen inzwischen auch andere Paketmanager, ich habe die Entwicklung nicht weiter verfolgt).
Das Image für den Raspberry Pi basiert auf Raspberry Pi OS lite, in dem lediglich die Scripte vorinstalliert sind und ein passender Link, damit die unattended Installation automatisch ausgeführt wird.
Du brauchst also ein Betriebssystem als Unterbau. Ubuntu ist möglich, aber es gibt mehrfach Berichte über Probleme mit der Stabilität. Debian ist die Grundlage von Raspberry Pi OS lite und das mit Abstand am besten geprüfte OS, was das Zusammenspiel mit openHAB betrifft. Wenn es nicht sehr triftige Gründe für einen anderen Unterbau gibt, sollte man also Debian nutzen.
Virtualbox kann nicht mit Containern umgehen, es kann nur vollständig virtualisieren, was absurd ineffizient ist, wenn man ein GNU/Linux als Host nutzt, insbesondere, wenn man so knappe Ressourcen zur Verfügung hat. Ein Celeron ist nun wirklich kein Hochleistungesprozessor, Thin Clients sind nicht dafür ausgelegt, Host für einen ausgewachsenen Hypervisor zu sein.
Wenn Du unbedingt den Rechner als Desktop System verwenden willst, und openHAB damit nur nebenbei auf dem Rechner laufen soll, wäre tatsächlich Docker bei weitem besser geeignet, weil es wesentlich schlanker ist und damit da System nicht allzusehr zusätzlich belastet.
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 29. Nov 2022 15:04
von Boris099
Bin da gerade mal im BIOS da ist folgendes aktiviert
- VT for Direct I/O
- Enable Intel Virtualization Technology
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 29. Nov 2022 15:23
von udo1toni
Ja und? Nur, weil der Prozessor grundsätzlich Virtualisierung unterstützt, heißt das noch lange nicht, dass der Rechner für Deine Wünsche auch geeignet ist.
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 29. Nov 2022 15:48
von Boris099
Also dann will ich das mal testen mit Debian Desktop und darauf Docker und das Standard OH3 Docker image.
Ist doch mal einen Test wert außerdem komme ich dabei diesem Thema Docker mal näher.
1. Debian Desktop installieren (Neueste Version hatte ich gestern schon gezogen, kämpfe gerade mit dem USB Boot auf dem client)
2. Docker installieren (da finde ich Anleitungen)
3. OH3 Docker image installieren
Ich melde mich
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 29. Nov 2022 17:21
von sihui
Boris099 hat geschrieben: ↑29. Nov 2022 13:38
Das Ding hat 8GB und einen Celeron J4105, ich kann es ja probeweise mal installieren.
Der Prozessor hat vier Kerne und vier Threads, mein alter Server war ähnlich ausgestattet, damals habe ich auch noch mit Virtualbox auf Debianbasis gearbeitet und openHAB inklusive Zigbee2mqtt, influxdb und Mosquitto-MQTT darauf laufen lassen, lief etwas behäbig, aber vollkommen problemlos.
Startzeit für openHAB waren ca. 7 Minuten (Virtualbox), beim jetzigen Server mit einem älteren i5 Prozessor sind es 90 Sekunden (Proxmox).
Einfach mal alle Möglichkeiten ausprobieren, Virtualbox, Docker, Proxmox und dann entscheiden.
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 29. Nov 2022 19:52
von udo1toni
sihui hat geschrieben: ↑29. Nov 2022 17:21
Startzeit für openHAB waren ca. 7 Minuten
Eben. Mit Container geht das ratz-fatz, Docker braucht hier auf einem älteren Rechner unter einer Minute für einen nackigen Container, also von Einschalten des Rechners bis openHAB über http erreichbar ist. Natürlich kommt dann noch Ladezeit für Konfiguration und Initialisierung der Bindings dazu, aber das ist ja immer on top und macht vermutlich gar nicht so viel aus, wenn man nicht zu viele Addons nutzt.
Ich habe hier auch noch Docker in einem LXC laufen, auf meinem Proxmox, mit 2 GByte RAM und vier Kernen. Ein kompletter Deploy des openHAB Stacks (Image bereits auf der Maschine) dauert keine 40 Sekunden, bis https erreichbar ist. Und die Docker Instanz kümmert sich eigentlich um andere Dinge, der Stack ist nur für den Fall, dass ich mal eben schnell ausprobieren möchte, wie "das" im Docker Container läuft. Wohlgemerkt, der Container wird erst erstellt, lediglich die Downloads sind schon auf der Platte. Gewöhnlich wird man den Container aber einfach nur anhalten, dann geht der Start noch ein paar Sekunden schneller.
Re: OH3 im Docker mit Ubuntu oder Debian als Basis
Verfasst: 30. Nov 2022 19:00
von Boris099
SUCCESS
Also Debian Desktop 11.5 läuft nun mit Docker und Portainer und OH3.3.
Ich bin total überrascht wie der kleine ThinClient flitzt und der Hammer ist der Stromverbrauch, der pendelt zwischen 3 und 4 Watt.
Openhab ist noch ohne Last, noch kein Samba aber trotzdem geil. Beim Starten nimmt er max 9 Watt - warum brauche ich einen Raspi ....
Eingerichtet habe ich nach Vorgabe der offiziellen OH Doku, ganz leicht angepasst, denn im Docker Portal haben die noch "EXTRA_JAVA_OPTS" dabei, keine Ahnung warum, ich hab es mal mitgenommen.
Code: Alles auswählen
sudo docker run \
--name openhab \
--net=host \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /opt/openhab/conf:/openhab/conf \
-v /opt/openhab/userdata:/openhab/userdata \
-v /opt/openhab/addons:/openhab/addons \
-e USER_ID=998 \
-e GROUP_ID=997 \
-e CRYPTO_POLICY=unlimited \
-e "EXTRA_JAVA_OPTS=-Duser.timezone=Europe/Berlin" \
-d \
--restart=always \
openhab/openhab:3.3.0
Aber nun noch ein, zwei Fragen:
- Was gehört denn nun noch dazu damit das OH rund läuft, da fehlt ja noch einiges?
- Ich denke insbesondere an SAMBA und MQTT, aber auch solche Sachen wie Grafana oder Karaff, was davon benötige ich denn nun?
Installiere ich das in OH oder in einem Container oder direkt auf Debian??
- Ich lese dass man Samba benötigt damit ich von einem anderen z.B. Windows PC auf OH komme, aber wenn ich da mit Putty... aber egal ich habe
heute eine shared Partition auf einer USB Festplatte und habe so ein Primitiv-NAS - funktioniert ganz prima.
- Wie bekomme ich meinen MQTT Broker, im Container oder wie?
- Wo ist mein OH Log versteckt?
- USB Sticks, da habe ich mal das Script aus der OH Doku gestartet, leitet das dann alle USB Sticks durch?
Code: Alles auswählen
docker exec \
-d \
openhab \
/bin/chmod o+rw /dev/ttyACM0
Edit: Ich habe gerade mal putty von einem anderen Windows PC auf die Debian IP gemacht, aber hier kommt access denied, ist das schon weil Samba
auf dem Debian nicht läuft?
Re: OH3 im Docker mit Debian als Basis
Verfasst: 30. Nov 2022 21:11
von udo1toni
Da Du mit Docker Containern arbeitest, installierst Du weitere Module immer in eigenen Containern, also ein Container für Mosquitto (gibt es fertig) ein Container für Grafana, ein Container für InfluxDB, ein Container für Samba, ein Container für VSCode Server usw.
Soweit Du Auf identische Daten zugreifen willst, musst Du lediglich die entsprechenden Volumes wiederverwenden. Und natürlich musst Du schauen, dass die Besitzrechte passen. Mosquitto läuft standalone und wird nur über Netzwerk angesprochen, also kein Thema, Grafana, InfluxDB ebenso, aber für Samba musst Du die Volumes vom openHAB Container mitnutzen.
Die EXTRA_JAVA_OPTS sind sinnvoll, damit die Zeit für now() innerhalb openHAB mit der normalen Zeit übereinstimmt. Es kann sein, dass es auch ohne den Parameter funktioniert, es kann aber auch schief gehen.
Re: OH3 im Docker mit Debian als Basis
Verfasst: 30. Nov 2022 22:02
von Boris099
Also alles in Container. Finde ich für alles solche Container, ich wüsste nicht wie ich die sonst mit Leben füllen sollte?
Welche brauche ich denn nun wirklich, Samba, influxDB , grafana, mosquitto, korrekt?
Und Samba auch im Container ich dachte das läuft einfach direkt in Debian. Was bedeutet für Samba muss ich die volumes von OH Container mitbenutzen, wie mache ich das denn?
Re: OH3 im Docker mit Debian als Basis
Verfasst: 30. Nov 2022 23:54
von udo1toni
All diese Software liefe auch direkt auf Debian. Container dienen der Abschottung der einzelnen Anwendungen voneinander. Auch lassen sich so Anwendungen gemeinsam nutzen, ohne sich groß Gedanken um Kollisionen zu machen.
Welche Software Du brauchst, hängt davon ab, was Du verwendest.
Samba brauchst Du, wenn Du von einem Windows PC auf die Dateien des Rechners zugreifen willst. Dass Samba im Zusammenhang mit openHAB verwendet wird, ist aber nur eine Möglichkeit, aber nicht zwingend. Ich nutze z.B. in der Zwischenzeit VS Code remote auf der Maschine, das heißt, ich habe einen public Key für das openhab Konto hinterlegt und die Zugangsdaten samt Schlüsseldatei in VS Code hinterlegt. wenn ich VS Code starte, startet von der letzten Sitzung automatisch die Remote Sitzung auf dem openHAB System. Ich arbeite direkt als User openhab, so dass es keine Probleme mit Zugriffsrechten gibt.
VS Code selbst läuft natürlich weiterhin auf dem Windows System, lediglich die Komponenten für den Dateizugriff werden lokal auf dem openHAB System ausgeführt.
Mit Docker kannst Du VS Code auch als Code Server ausführen lassen, das läuft dann über Browser. Die Bedienung entspricht zu 99,9% dem Original, es ist teilweise leicht, zu vergessen, dass man sich im Browser befindet.
Allerdings läuft das openHAB Plugin nicht im Server, oder zumindest muss man tricksen, damit es funktioniert.
Der Punkt ist, dass man unter Docker nur die im Container bereits installierte Software nutzt und keine weitere Software einspielt.
Keine Regel ohne Ausnahme: Wenn Du Kameras nutzen willst, brauchst Du ffmpeg, welches (zumindest nativ) nicht über Netzwerk steuerbar ist. Das muss dan leider in den Container hineinoperiert werden, was möglich ist, aber eben der Idee von Docker widerspricht. Wenn Du dann ein neues Image runterlädst (z.B. OH3.4 stable) musst Du ffmpeg wieder von Hand nachinstallieren, denn es ist nicht im Image enthalten. Läge es in einem anderen Container, müsstest Du Dir darüber keine Gedanken machen, es liefe „einfach so“ weiter wie mit dem alten Image.