FHEM Forum

FHEM => Frontends => fronthem / smartVISU => Thema gestartet von: bgewehr am 19 Januar 2020, 20:01:20

Titel: Nach dockerize kein ws in fronthem
Beitrag von: bgewehr am 19 Januar 2020, 20:01:20
Hallo,

nach dem Umzug meines fhem in einen docker container mit dem Image von

https://registry.hub.docker.com/u/fhem/fhem/

bekomme ich den Websocket von fronthem nicht wieder dazu, mit mir zu sprechen.

Docker network ist bridge, port 2121 ist extern an intern 2121 tcp gebunden.

Die Clients geben keinen Fehler, fhem gibt keinen Fehler, die Clients melden sogar connected in fhem, aber es kommen einfach keine Daten über den websocket.

Die config aus ../www/fronthem/... habe ich vom alten fhem übernommen.

Alle nötigen perl Module sind da, loopback Adapter ist da.

Wie kann ich weiter testen?
Titel: Antw:Nach dockerize kein ws in fronthem
Beitrag von: bgewehr am 20 Januar 2020, 21:43:27
Der WS scheint zu existieren, aber bleibt im handshake stecken:

CAUTION! Request has not finished yet sehe ich im debug view mit F12 im network WS bei Timing.

Aber: was kann ich tun? @Jörg, irgendeine Idee?

Titel: Antw:Nach dockerize kein ws in fronthem
Beitrag von: herrmannj am 20 Januar 2020, 21:49:21
leider keine. Mir fehlt da leider auch Docker Verständnis. Grundsätzlich, und ab hier fängt raten an, benötigt ein ws zb in Proxys auch eine Extrabehandlung. Eventuell benötigt der Docker auch Sonderbehandlungen. Aber: funktioniert der Websocket in fhemweb ?
Titel: Antw:Nach dockerize kein ws in fronthem
Beitrag von: bgewehr am 20 Januar 2020, 21:51:45
Kann ich den Port von 2121 auf etwas anderes setzen? Ich habe vergessen, wo... ;-))
Titel: Antw:Nach dockerize kein ws in fronthem
Beitrag von: herrmannj am 20 Januar 2020, 22:08:11
ja konfigurierbar in line #91 in 01_fronthem.pm ;)

$cfg->{port} = 2121;
Titel: Antw:Nach dockerize kein ws in fronthem
Beitrag von: bgewehr am 21 Januar 2020, 06:59:20
Es sieht so aus, also ob die außerhalb von Docker sinnvolle Verwendung von localhost mit loopback auf 127.0.0.1 innerhalb eines Containers nicht funktioniert, da der relevante localhost hier 127.17.0.4 oder so etwas ist.

https://stackoverflow.com/questions/54101508/how-do-you-dockerize-a-websocket-server/54102318#54102318

Ich muss also entweder am hostile Schrauben oder am frontHEM.pm oder am local Host File.

Womit würdest Du starten?
Titel: Antw:Nach dockerize kein ws in fronthem
Beitrag von: herrmannj am 21 Januar 2020, 09:45:06
uh. Ich bin mir aber gar nicht so sicher ob das in Deinem Fall die Ursache ist. Der stack overflow bezieht sich mMn auf eine Connection von außerhalb des Dockers. Steht denn was im fhem log? Die localhost Verbindung kommt nur innerhalb des Dockers zum tragen.

Ansonsten: persönlich würde ich mit Änderungen in fronthem anfangen. Zumindest solange bis ichs besser verstehe. Änderungen am hostfile sind vielleicht als Lösung geeignet. Aber hat das Nebeneffekte für den Rest des Systems ?

Der code in fronthem ist in line #620    PeerHost => 'localhost',

vg
joerg