fhem-docker Image 4.0.0 (Tester gesucht)

Begonnen von Sidey, 02 März 2024, 11:35:13

Vorheriges Thema - Nächstes Thema

juemuc

#90
Hallo Otto,

mein "Host" ist eine Syno 920+. Da möchte ich so wenig wie möglich ausserhalb des Containers laufen lassen. Da WOL über die Fritzbox nicht möglicht (siehe Kommentar im entsprechenden Thread) bin ich quasi auf WOL im Container "angewiesen". Warum muss ich Programme im Host definieren und aufrufen, wenn ich einen Container nutzen möchte? Ich verstehe dann den Sinn des Containers nicht mehr. Aber dies ist sicherlich ein Thema ausserhalb dieses Threads  ;D

Für weitere Lösungsvorschläge bin ich immer offen.


Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Otto123

#91
Zitat von: juemuc am 21 März 2024, 17:22:46mein "Host" ist eine Syno 920+
Ein Host ist ein Host und ssh ist ssh :)
Einen Container verbiegt man nicht. Wenn der Host "nichts kann", mach einen extra Container der deine speziellen Wünsche abhandelt.
Der Weg im Docker ist Container neben Container zu stellen und nicht jeden Container zur EierlegendenWollmilchSau zu machen. ;)
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: juemuc am 21 März 2024, 13:54:57die Testumgebung unter Ubuntu steht und der Fehler tritt auch hier auf. lsof ist defaultmäßig installiert.
Jetzt musst Du mir allerdings sagen, was ich tun muss. Du kannst mir auch gerne einen spezielle Container-Installation bereitstellen.

Hmm, also in den Images ab Version 4 ist meiner Meinung nach kein lsof installiert.

Ich habe ein Image erstellt, in dem wir mehr Debug Ausgaben vom healthcheck erhalten:

ghcr.io/fhem/fhem-docker:4.0.0-debug-threaded-bullseye
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

juemuc

Hallo Sidey,

werde ich morgen testen. lsof ist war natürlich nur im Host (Ubuntu) installiert.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

#94
Hallo Sidey,

hier die aktuellen Infos aus der neuen Version:
    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 0,
        "FinishedAt": "0001-01-01T00:00:00Z",
        "Health": {
            "FailingStreak": 7,
            "Log": [
                {
                    "End": "2024-03-22T13:33:56.934836443+01:00",
                    "ExitCode": -1,
                    "Output": "Health check exceeded timeout (10s): + '[' -e /var/run/health-check.pid ']'\n+ trap trapExitHandler SIGTERM EXIT\n+ echo 9735\n+ '[' -e /tmp/health-check.urls ']'\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8083/fhem/healthcheck\n+ fhemwebState=000\n+ '[' 28 -ne 0 ']'\n+ gRetMessage=' https://localhost:8083/fhem/healthcheck: FAILED (000);'\n+ gRetVal=1\n+ (( gFailedCnt++ ))\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8084/fhem/healthcheck\n",
                    "Start": "2024-03-22T13:33:46.801938795+01:00"
                },
                {
                    "End": "2024-03-22T13:34:27.084286471+01:00",
                    "ExitCode": -1,
                    "Output": "Health check exceeded timeout (10s): + '[' -e /var/run/health-check.pid ']'\n+ trap trapExitHandler SIGTERM EXIT\n+ echo 9762\n+ '[' -e /tmp/health-check.urls ']'\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8083/fhem/healthcheck\n+ fhemwebState=000\n+ '[' 28 -ne 0 ']'\n+ gRetMessage=' https://localhost:8083/fhem/healthcheck: FAILED (000);'\n+ gRetVal=1\n+ (( gFailedCnt++ ))\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8084/fhem/healthcheck\n+ fhemwebState=000\n+ '[' 28 -ne 0 ']'\n",
                    "Start": "2024-03-22T13:34:16.936565992+01:00"
                },
                {
                    "End": "2024-03-22T13:34:57.244727483+01:00",
                    "ExitCode": -1,
                    "Output": "Health check exceeded timeout (10s): + '[' -e /var/run/health-check.pid ']'\n+ trap trapExitHandler SIGTERM EXIT\n+ echo 9788\n+ '[' -e /tmp/health-check.urls ']'\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8083/fhem/healthcheck\n+ fhemwebState=000\n+ '[' 28 -ne 0 ']'\n+ gRetMessage=' https://localhost:8083/fhem/healthcheck: FAILED (000);'\n+ gRetVal=1\n+ (( gFailedCnt++ ))\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8084/fhem/healthcheck\n",
                    "Start": "2024-03-22T13:34:47.084994239+01:00"
                },
                {
                    "End": "2024-03-22T13:35:27.527834896+01:00",
                    "ExitCode": -1,
                    "Output": "Health check exceeded timeout (10s): + '[' -e /var/run/health-check.pid ']'\n+ trap trapExitHandler SIGTERM EXIT\n+ echo 9815\n+ '[' -e /tmp/health-check.urls ']'\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8083/fhem/healthcheck\n+ fhemwebState=000\n+ '[' 28 -ne 0 ']'\n+ gRetMessage=' https://localhost:8083/fhem/healthcheck: FAILED (000);'\n+ gRetVal=1\n+ (( gFailedCnt++ ))\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8084/fhem/healthcheck\n",
                    "Start": "2024-03-22T13:35:17.340902905+01:00"
                },
                {
                    "End": "2024-03-22T13:35:57.645487071+01:00",
                    "ExitCode": -1,
                    "Output": "Health check exceeded timeout (10s): + '[' -e /var/run/health-check.pid ']'\n+ trap trapExitHandler SIGTERM EXIT\n+ echo 9842\n+ '[' -e /tmp/health-check.urls ']'\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8083/fhem/healthcheck\n+ fhemwebState=000\n+ '[' 28 -ne 0 ']'\n+ gRetMessage=' https://localhost:8083/fhem/healthcheck: FAILED (000);'\n+ gRetVal=1\n+ (( gFailedCnt++ ))\n+ IFS=\n+ read -r fhemUrl\n++ curl --connect-timeout 5 --max-time 8 --silent --insecure --output /dev/null --write-out '%{http_code}' --user-agent 'FHEM-Docker/1.0 Health Check' https://localhost:8084/fhem/healthcheck\n",
                    "Start": "2024-03-22T13:35:47.530029982+01:00"
                }
            ],
            "Status": "unhealthy"
        },

Nach einiger Zeit steht dies im logfile:
        "Health": {
            "FailingStreak": 124,
            "Log": [
                {
                    "End": "2024-03-22T16:55:08.247257776+01:00",
                    "ExitCode": 1,
                    "Output": "+ '[' -e /var/run/health-check.pid ']'\n+ echo 'Instance already running, aborting another one'\n+ exit 1\nInstance already running, aborting another one\n",
                    "Start": "2024-03-22T16:55:06.005732763+01:00"
                },
                {
                    "End": "2024-03-22T16:55:32.989772246+01:00",
                    "ExitCode": 1,
                    "Output": "Instance already running, aborting another one\n+ '[' -e /var/run/health-check.pid ']'\n+ echo 'Instance already running, aborting another one'\n+ exit 1\n",
                    "Start": "2024-03-22T16:55:28.25714174+01:00"
                },
                {
                    "End": "2024-03-22T16:55:55.490070395+01:00",
                    "ExitCode": 1,
                    "Output": "+ '[' -e /var/run/health-check.pid ']'\n+ echo 'Instance already running, aborting another one'\n+ exit 1\nInstance already running, aborting another one\n",
                    "Start": "2024-03-22T16:55:53.008567922+01:00"
                },
                {
                    "End": "2024-03-22T16:56:19.21266251+01:00",
                    "ExitCode": 1,
                    "Output": "+ '[' -e /var/run/health-check.pid ']'\n+ echo 'Instance already running, aborting another one'\n+ exit 1\nInstance already running, aborting another one\n",
                    "Start": "2024-03-22T16:56:15.493336171+01:00"
                },
                {
                    "End": "2024-03-22T16:56:39.586347746+01:00",
                    "ExitCode": 1,
                    "Output": "+ '[' -e /var/run/health-check.pid ']'\n+ echo 'Instance already running, aborting another one'\n+ exit 1\nInstance already running, aborting another one\n",
                    "Start": "2024-03-22T16:56:39.219082047+01:00"
                }
            ],
            "Status": "unhealthy"
        },


Reicht dir diese Info oder benötigst Du noch mehr?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Die Infos reichen um meinen Verdacht zum bestätigen.
Die Anfragen mittels curl auf

https://localhost:8083/fhem/healthcheck
und
https://localhost:8084/fhem/healthcheck

werden nicht oder nicht schnell genug beantwortet .

Kannst Du mal manuell mittels CURL diese Anfragen senden und schauen was passiert?

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

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

juemuc

Hallo Sidey,

ja mache ich gerne. Aktuell ist mein System nur mit der Installatin einer VM ausgelastet. Da macht die Abfrage keinen Sinn. Jetzt ist mir auch klar, warum das passiert. Das HMCCU-Modul lastet mein System immer wieder aus. Deswegen ist der Container ohne die HM-Devices auch "healthy".

Ich melde mich wieder mit den Ergebnissen.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Zitat von: juemuc am 22 März 2024, 22:34:52Das HMCCU-Modul lastet mein System immer wieder aus.

Hmm, ich weiss nicht genau wie dieses Modul arbeitet, aber ggf. blockiert es FHEM.
Dazu brauchen wir aber zap .
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

Sidey

@juemuc

Grundsätzlich scheint mir das blockieren kein Problem vom Docker Image zu sein. Der Container wird halt nur entgegen nativer Installation auf seinen FHEMWeb Instanzen regelmäßig geprüft.


Hast Du in den
ccuflags das Flag nonBlocking
gesetzt?
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

juemuc

Hallo Sidey,

ich erhalte auf der Syno bzw. in der VM folgende Meldung:

root@FHEM:/opt/fhem# sudo curl https://localhost:8083/fhem/healthcheck
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Die Ursache für scheint aber eher mein pi mit der piVCCU zu sein. Hier bleibt das System immer mal wieder stehen, wenn ich mit mehreren FHEMs zugreife.


Viele Grüße
Jürgen

3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

#100
Hallo Sidey,

habe gerade festegestellt, dass dieses Flag bei meinen Testinstallationen nicht (mehr) gesetzt war. Ich prüfe dies noch einmal. Danke für den Tipp.

Korrektur: War doch gesetzt.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Zitat von: juemuc am 23 März 2024, 14:28:49Hallo Sidey,

ich erhalte auf der Syno bzw. in der VM folgende Meldung:



Probier es mal mit --insecure für den curl Aufruf :)
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

juemuc

Hallo Sidey,

bei Port 8083 erfolgt keine Ausgabe. Das Attribut DockerHealthCheck = 1. Bei Port 8084 ist das Attribut nicht gesetzt und es gibt folgende Ausgabe:
siehe Anhang
Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Zitat von: juemuc am 23 März 2024, 16:43:29Hallo Sidey,

bei Port 8083 erfolgt keine Ausgabe. Das Attribut DockerHealthCheck = 1. Bei Port 8084 ist das Attribut nicht gesetzt und es gibt folgende Ausgabe:
siehe Anhang

Default ist der Wert 1.
Der Anhang ist vermutlich nicht der richtige.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

juemuc

Das ist die Ausgabe, die ich mit curl --insecure https://localhost:8084/fhem/healthcheck erhalte. Habe es extra noch einmal geprüft.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).