Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Begonnen von Loredo, 28 Juli 2018, 21:24:57

Vorheriges Thema - Nächstes Thema

Otto123

#1725
Hi,

nicht ganz verstanden. ;) Die Daten im Container müssen ja irgendwo sein. Da gibt es aus meiner Sicht (mag sein, das hab ich auch noch nicht besser verstanden) drei Orte:

  • Im Container als "Layer"
  • In einem extra definierten docker Volume
  • In einem gemappten Pfad in der Umgebung (Host, Fileserver ...)
Wenn Du nichts angibst legt er das FHEM Directory im Container an. Ein Container ist aber so einen Art Einweg - Mietobjekt, es ist nicht dein PC! Der Container ist nicht "wertvoll", den wirfst Du weg und machst ihn neu, wenn was nicht geht.
Die einfachste Art für den OttonormalUser dürfte das Mapping eines Pfades sein. Dort liegen Deine Daten, Du kommst auch mal ran, kannst sie sichern und kopieren und auch in den neuen Container mitnehmen, wenn Dein alter nicht mehr gefällt und zerstört wird.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

kadettilac89

Zitat von: choetzu am 13 November 2022, 15:32:00
Hmm, aber genau deshalb erstellt man doch einen Container, damit alle Daten und Abhängigkeiten an einem Ort sind. Wieso sollte man - ausser der Container geht Flöte - das ausserhalb vom Container machen? Das würde doch dann auch der "Umzug" des Containers auf andere Systeme erschweren?
Bevor du anfängst such dir am besten mal bei Google ein paar Basics zu Docker.

Container - Laufzeitumgebung, kannst jederzeit neu downloaden UND wird bei jedem Update des Containers gelöscht und neu erstellt.
Verzeichnisse - deine persönlichen Daten.

Ich vergleiche es immer mit Word. Word als Programm kannst dir immer wieder neue installieren, das brauchst du nicht sichern oder aufheben. Die geschriebenen Dokumente musst du irgendwo permanent in einem separaten Verzeichnis abspeichern und auch ein Backup haben.

Wenn du den Container ohne lokale Verzeichnisse baust ist es so als würdest du Word und alle Dokumente in das Programmverzeichnis ablegen. Bei der Deinstallation von Word ist dann aber alles weg.

Wernieman

#1727
Es gibt noch einen Nachteil für Dateien innerhalb des Containers:
Die Daten werden in "Layern" aufgehoben. Wenn Du also z.B. eine Datei "Änderst", wird sich gemerkt, das dort eine Änderung gemacht wurde, die Ursprünglichen Daten sind aber immer noch da.

Originaldaten | 1. Änderung | 2. Änderung | .... | X. Änderung

Stell Dir jetzt mal vor, Du hast 1.000 Änderungen gemacht, also 1.000 Layer ... bekanntlich wird dann der Container immer langsamer (vereinfacht ausgedrückt).

Wir hatten in meiner letzten Firma mit einem PHP5 Container genau solch ein Problem, der Session Key wurde im Container gespeichert. Nach 1/2 Jahr Laufzeit hat es mehrere Stunden gedauert, bis der Container "weg" war .... also ist "Im Container Speichern" nicht gut.

Und auch die Idee: "Dann nehme ich den Container mit" ist vergleichbar mit obigen Beispiel mit Word. Du würdest niemals Word (oder eine andere Software) von einem Rechner zum nächsten "mitnehmen", sondern von der Ursprungsquelle neu installieren. Nur die Daten nimmst Du mit.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

LutzG

Hallo,

ich sehe bei den Docker-Versionen nicht mehr durch. Könnte mich bitte jemand aufklären, was ich in Portainer bei Image eintragen soll, dass:
- fhem/fhem:latest
- ghcr.io/fhem/fhem/fhem-docker:3-bullseye
- ghcr.io/fhem/fhem/fhem-docker:latest

scheint alles für mich das Gleiche zu sein, oder!?  :o

Viele Grüße,

Lutz
DMZ: J5040 mit OpenMediaVault, in Docker: Portainer, Fhem, MariaDB, zigbee2mqtt, esphome, NextCloudPi, Jellyfin, Grocy.
Intranet: J5005 mit OpenMediaVault, in Docker: Portainer, Fhem-minimal, urbackup - läuft nur, wenn Rechner laufen.

choetzu

Hallo Otto123, Werniemann und Kadettilac89

habt ganz lieben Dank für Eure wertvollen Erläuterungen. Spätestens beim Beispiel mit Word fiel der Groschen.
Ich mach mich weiter schlau, installiere in der Zwischenzeit mal Portainer und Co und schmeiss das fhem/fhem drauf inkl. Angabe von opt/fhem ;)

Lg und schönen Abend
c

Raspi3, EnOcean, Zwave, Homematic

Sidey

Zitat von: LutzG am 13 November 2022, 17:42:11
- fhem/fhem:latest
- ghcr.io/fhem/fhem/fhem-docker:3-bullseye
- ghcr.io/fhem/fhem/fhem-docker:latest


Im Moment verweisen die drei tags auf das gleiche Image.

3-bullseye bleibt immer ein bullseye Image.

Latest wird halt irgendwann mal auf was anderes verweisen. Möglicherweise kann es dort auch mal Änderungen geben, die zu Inkompatibilitäten führen.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

LutzG

Danke Sidey, Klarheiten beseitigt!   :D

Zitat von: Sidey am 13 November 2022, 22:43:33
Latest wird halt irgendwann mal auf was anderes verweisen. Möglicherweise kann es dort auch mal Änderungen geben, die zu Inkompatibilitäten führen.

Also, wenn ich aktuell bleiben will, "latest", wo "Mal" (eher unwahrscheinlich und maximal kurzfristig) was nicht funktioniert...

Werden jetzt in Zukunft die Images:
- fhem/fhem:latest
- ghcr.io/fhem/fhem/fhem-docker:latest

immer auf das gleiche Image verweisen, oder kann es da doch Mal unterschiedliche Versionen geben?

Viele Grüße, Lutz
DMZ: J5040 mit OpenMediaVault, in Docker: Portainer, Fhem, MariaDB, zigbee2mqtt, esphome, NextCloudPi, Jellyfin, Grocy.
Intranet: J5005 mit OpenMediaVault, in Docker: Portainer, Fhem-minimal, urbackup - läuft nur, wenn Rechner laufen.

Wernieman

Sicherheitshalber:;
Viele Anfänger sehen ein Docker Image wie eine VM, das ist es aber nicht!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Stonemuc

Hallo,

ich steige auch gerade auf Docker um und möcte meinen RPI auf meinen NAS Server umziehen lassen. Ich hab noch eine Frage - kann ich irgendwie aus FHEM auf das Logfile zugreifen? Ick kkann die Logs ja im Container sehen...aber wenn ich in FHEM auf logfile drücke, ist es leer...
Gibt es da eine Mögichkeit? Oder loggt ihr nur im Container mit?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Otto123

#1734
Hi,

das Logfile ist bei mir ganz normal in FHEM im Zugriff.

Zeig mal:
list Logfile|global logfile

Wenn da unterschiedliche Dinge stehen, wird es nicht funktionieren ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Stonemuc

FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Sidey

Zitat von: Stonemuc am 18 November 2022, 21:41:41
Hallo Otto,

hier mal der Screenshot

Die eine Einstellung ist mit %d was den Tag im Monat angibt die andere ohne.
Wenn Du das angleichst funktioniert es.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Homalix99

Hallo,

kann fhem keine shell-Scripts mehr ausführen, wenn es im Docker Container läuft?
Ein shellscript soll in einem gemounteten Verzeichnis alte Backup-Files löschen. Das Script liegt unter /opt/fhem/scripts im Container und wird in Fhem in einem DOIF nach backup ausgeführt.


([11:00|Mo])
(
backup,
"sudo /opt/fhem/scripts/del_old_fhem_bkup.sh&"
)


Mit Fhem ohne Docker lief alles gut.
Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Otto123

Hallo Alex,

shellscripts kannst Du ausführen, aber im Container ist alles anders ;)

wer mounted und wo ist das gemounted? Im Container? Oder auf dem Host?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Homalix99

Hi Otto,

es funktioniert jetzt, nachdem ich den find commandstring angepasst hatte.
Zum Hintergrund:
Also ich habe im Host in der fstab das /mnt/Fritz.Nas gemountet, welches in den Container als Volume definiert ist. Fhem kann dort die eigenen Backups erstellen, diese sind dann auf der Fritzbox. Funktioniert soweit. Im Anschluß nach dem Backup soll fhem alle Backup-File die älter als 15 Tage sind, löschen. Dies hat vor Umzug auf Docker mit
dem Aufruf eines shellscripts unter /opt/fhem/scripts/del_old_fhem_bkup.sh

"sudo /opt/fhem/scripts/del_old_fhem_bkup.sh&"
eigentlich funktioniert.
Das genannte Verzeichnis gehört fhem und die scriptdatei hat Ausführungsrechte für fhem.
Das script selbst:

find /mnt/Fritz.Nas/FHEM_Backup/FHEM-.*  -mtime +15 -type f -delete

führte zu
No such file or directory
Nach Änderung des Scripts auf:

find /mnt/Fritz.Nas/FHEM_Backup -name FHEM-.*  -mtime +15 -type f -delete

funktioniert es jetzt.
Vielen Dank erstmal.

Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)