Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

Sidey

Zitat von: andreas.maurer am 20 Mai 2022, 07:43:44
Allerdings ist die Firmata Unterstützung abhanden gekommen.
Ist das so geplant? Wie bekomme ich die wieder zurück?

Geplant war das nicht, dass latest aktualisiert wird. Ist jetzt halt passiert.

Bezüglich Firmata bin ich zwei Jahre zurück und habe auch damals keine Firmata CPAN Pakete im Image gefunden.

Du kannst das Paket unkompliziert über eine Umgebungsvariable beim Starten des Containers nachinstallieren :

-e CPAN_PKGS="Device::Firmata"

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

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

Muenzi

Zitat von: Sidey am 18 Mai 2022, 07:30:13
Es sollte auch klappen, wenn Du den Update Befehl in die fhem.cfg schreibst mit der fhem gestartet wird.

Super, sorry es hat ein wenig gedauert bis ich wieder Zeit dafür hatte.

Hat aber alles geklappt.

Als kleine "Gedächtnisstütze" habe ich zu meinem Setup mal ein Github-Repo aufgemacht. Vielleicht interessiert es ja jemanden, der sich auch erst in Docker einarbeiten muss. Oder ein Pro wie Sidey oder die anderen hier gibt Good-Practice Tipps.

https://github.com/StephanMuenzberg/fhem_docker

Wernieman

Zitatexpose:
        - "3306"
        - "33060"
    ports:
        - "3306:3306"
        - "33060:33060"
Warum gibst Du Deine MariaDB nach außen frei?  Sie muß doch nur von FHEM und Grafana erreicht werden können und das ist durch das Docker-Netzwerk doch schon möglich.

Hinweis:
Alles was nicht von Außen (Aus Docker Sicht) erreicht werden kann, kann nicht mißbraucht werden.

Und warum hast DU eine docker-compose im Repro?
- 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

Muenzi

Hallo Wernieman,

das sind sehr gute Fragen.

Zitat von: Wernieman am 27 Mai 2022, 08:06:03
Warum gibst Du Deine MariaDB nach außen frei?  Sie muß doch nur von FHEM und Grafana erreicht werden können und das ist durch das Docker-Netzwerk doch schon möglich.

Hinweis:
Alles was nicht von Außen (Aus Docker Sicht) erreicht werden kann, kann nicht mißbraucht werden.

Aktuell entwickle ich noch am lebenden Herzen, habe also keine separaten Entwicklungs- und Produktivinstanzen. Das heißt, ich muss mich für die Entwicklung (v.a. Normalisierung der History Tabelle, Views usw., siehe Ordner fhem/config/init/sql/) an der DB irgendwie auf die MariaDB draufschalten. Natürlich geht das direkt über eine interaktive Docker-Session, aber dann würde alles über die CLI laufen und das wäre dann doch etwas unhandlich.

Ich gebe dir aber vollkommen Recht. In einem produktiven System sollten die Port-Freigaben abgeschaltet sein.

Zitat von: Wernieman am 27 Mai 2022, 08:06:03
Und warum hast DU eine docker-compose im Repro?

Das hat "historische" Gründe. Ich habe ewig gebraucht um eine brauchbare Docker-Compose für mein Raspi-Setup zu finden, die auch funktioniert hat. Damit ich die bei einem Datenverlust nicht wieder verliere habe ich sie drin gelassen. Aber es stimmt, eigentlich kann die raus, zumal ich mittlerweile auf docker-compose aus pypy umgestellt habe.

Otto123

Ich will mal vorsichtig vor einem unvorbereiteten Image Update warnen.
Auf Docker Hub gibt es offenbar seit 14 Tagen ein neues FHEM Image, das endet bei mir in einer Endlosschleife beim Start. Ich werde das noch näher untersuchen.

Der schnelle Weg zurück:
docker image ls
...
docker tag ImageIdDesNeuen-latest-Image fhem/fhem:newest
docker tag ImageIdDesAlten-<none>-Image fhem/fhem:latest
docker compose up -d


BTW: auch das neue deconzcommunity/deconz Image läuft bei nicht...

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

Sidey

Zitat von: Otto123 am 31 Mai 2022, 21:47:34

Auf Docker Hub gibt es offenbar seit 14 Tagen ein neues FHEM Image, das endet bei mir in einer Endlosschleife beim Start. Ich werde das noch näher untersuchen.

Ja, das ist so passiert weil latest quasi immer das neueste ist.
Welche Docker Version verwendest Du auf dem Host? Ggf. ein Debian Stretch?
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

Otto123

#1596
System: PRETTY_NAME="Debian GNU/Linux 10 (buster)"
Docker: Server: Docker Engine - Community Engine:   Version:          20.10.14

ZitatJa, das ist so passiert weil latest quasi immer das neueste ist.
Die Begründung verstehe ich nicht ;) ein neues Image sollte ja nicht zwangsweise zum Funktionsverlust führen :)
Du meinst das neue Image ist bullseye und läuft nicht auf einem Buster Host? 🤔
Ich denke, ich habe andere bullseye Images auf Buster Host getestet...

Aber wie gesagt: ich schaue es mir noch in Ruhe an.
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

Sidey

Zitat von: Otto123 am 31 Mai 2022, 22:28:08

Die Begründung verstehe ich nicht ;) ein neues Image sollte ja nicht zwangsweise zum Funktionsverlust führen :)
Das war nicht die Begründung für den Funktionsverlust, sondern eher, dass latest beim letzten deployment mit aktualisiert wurde.

Zitat von: Otto123 am 31 Mai 2022, 22:28:08
Du meinst das neue Image ist bullseye und läuft nicht auf einem Buster Host? 🤔
Ich denke, ich habe andere bullseye Images auf Buster Host getestet...

Es gab da ein Problem mit einer alten Docker Engine und Images basierend auf Bullseye.
Leider habe ich es auf die schnelle nicht gefunden. Soweit ich mich erinnere war auf raspbian Strecke die docker engine zu alt für das bullseye Image . Da kam es auch immer zu reboots.
War halt eine Idee, dass es daran liegt.


Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

Sidey

Zitat von: Otto123 am 31 Mai 2022, 22:28:08
System: PRETTY_NAME="Debian GNU/Linux 10 (buster)"
Aber wie gesagt: ich schaue es mir noch in Ruhe an.

Ich habe auf einem amd64 System das fhem/fhem:latest problemlos gestartet.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

Otto123

Ich habe ja nicht gesagt, dass es generell nicht läuft. Aber wenn man in einer bestehenden Installation das Image neu zieht (altes Image war das alte von Julian) gibt es offenbar Inkompatibilitäten. Ich kenne einen weiteren Fall wo es so passiert ist...

Ich wollte lediglich
Zitat... mal vorsichtig vor einem unvorbereiteten Image Update warnen.
:D
Oder sagt man dazu anders wenn man ein aktuelleres Docker Image zieht und anwendet?
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

Sidey

Zitat von: Otto123 am 01 Juni 2022, 22:54:20
Ich wollte lediglich  :D
Oder sagt man dazu anders wenn man ein aktuelleres Docker Image zieht und anwendet?

Passt, die Warnung ist ja durchaus auch in Ordnung. Ich konnte den Fehler nur leider nicht nachstellen. Wenn Du weitere Erkenntnisse hast, dann her damit.

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

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

GammaTwin

Grüße,

es gibt auch ein "latest" buster-image:
fhem/fhem:buster

kennymc.c

Ich hab festgestellt, dass wenn ich im WEB Device statt global eine bestimmte IP angebe, damit Fhem nur noch über diese IP erreichbar sein soll, der Health Status des Image nach kurzer Zeit auf unhealthy wechselt. Ich habe schon versucht DOCKER_HOST auf die entsprechende IP zu setzten. Gibt es einen anderen Weg, das selbe Ziel zu erreichen, wenn der Container im Host Modus laufen muss?

Sidey

Zitat von: kennymc.c am 28 Juni 2022, 19:44:29
Ich hab festgestellt, dass wenn ich im WEB Device statt global eine bestimmte IP angebe, damit Fhem nur noch über diese IP erreichbar sein soll, der Health Status des Image nach kurzer Zeit auf unhealthy wechselt.

Der Healthcheck läuft innerhalb des Containers gegen localhost.
Dieser Zugriff muss erlaubt sein.

Ich verstehe aber eventuell nicht exakt, was Du gemacht hast, also welche Attribut Du gesetzt hast.
Mich würde ebenso interessieren, was genau Du erreichen möchtest.


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

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

kennymc.c

Ich möchte wie erwähnt, dass Fhem nur über ein Netzwerk Interface erreichbar ist, da mein Server mehrere NICs besitzt und Fhem momentan über alle erreichbar ist.
Momentan ist das WEB Device so definiert:
WEB FHEMWEB 8083 global
Wenn ich es auf WEB FHEMWEB 8083 192.168.1.203 ändere bekomme ich das genannte Problem mit dem Health Check.