FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: fettgu am 28 Oktober 2024, 20:43:38

Titel: Gelöst: Docker: Verbindung fehlgeschlagen
Beitrag von: fettgu am 28 Oktober 2024, 20:43:38
Guten Abend,

ich versuche meine FHEM Installation auf einen neuen Rechner im Docker zu installieren.

Ich halte mich dabei an diese Anleitung:

https://github.com/fhem/fhem-docker/ (https://github.com/fhem/fhem-docker/)

Wenn ich FHEM so starte funktioniert es
docker run -d --name fhem -p 8083:8083 ghcr.io/fhem/fhem-docker:4-threaded-bullseye
Wenn ich jedoch über docker-compose arbeite, habe ich logeinträge, kann die Seite aber nicht aufrufen "Verbindung fehlgeschlagen".

Der Container startet, die Ports öffnen auch (analog denen im docker-compose.yml), weiteres passiert aber nicht.

Weitere Hinweise
Timeout ist 120s - sollte also reichen
Standardport 8083 ist http, erstmal zum testen
Im Log gibt es natürliche Fehler (Fritzbox Anrufmonitor, Babble file fehlt, Z-wave dongle nicht gefunden - kann aber auch nicht) - weiß nicht, ob ich die erstmal bearbeiten sollte, oder ob es was ganz anderes ist.

Gibt es weitere Ideen zur Fehlersuche?

Viele Grüße
Guido Fett
Titel: Aw: Docker: Verbindung fehlgeschlagen
Beitrag von: passibe am 28 Oktober 2024, 22:46:16
Servus,

könntest du noch folgende Infos liefern:
Danke!

Dass es an fehlenden Abhängigkeiten/Perl-Modulen liegt, würde ich, wenn es per docker run klappt, erstmal ausschließen. Wobei dein run-Befehl auch keine volumes/Ordner mappt, sodass ich mich frage, wie du auf die Fehler von Fritzbox usw. kommst? Die sind in der Standardkonfig ja nicht drin. Vielleicht liegts also doch daran, solltest du erst beim Test mit dem compose-file deinen fhem-Ordner gemappt haben.
Titel: Aw: Docker: Verbindung fehlgeschlagen
Beitrag von: fettgu am 28 Oktober 2024, 23:12:20
Danke für die Fragen...

Hier das von docker-compose.yml,


networks:
  net:
    driver: bridge

    ipam:
      driver: default
      config:
        - subnet: 172.27.0.0/24
          gateway: 172.27.0.1
services:

  fhem:
    image: ghcr.io/fhem/fhem-docker:4-threaded-bullseye
    restart: always
    networks:
      - net
    ports:
      - "8093:8093"
      - "8094:8094"
      - "8096:8096"
      - "8088:8088"
      - "8083:8083"
    volumes:
      - "./fhem/:/opt/fhem/"
    environment:
      FHEM_UID: 6061
      FHEM_GID: 6061
      TIMEOUT: 120
      RESTART: 1
      TELNETPORT: 7072
      TZ: Europe/Berlin



FHEM-Logeinträge, siehe anhang

sudo ss -tlnp | grep 8083

guido@homeserver:/docker/home$     sudo ss -tlnp | grep 8083
LISTEN 0      4096         0.0.0.0:8083      0.0.0.0:*    users:(("docker-proxy",pid=837771,fd=4))
LISTEN 0      4096            [::]:8083         [::]:*    users:(("docker-proxy",pid=837781,fd=4))


ZitatDass es an fehlenden Abhängigkeiten/Perl-Modulen liegt, würde ich, wenn es per docker run klappt, erstmal ausschließen. Wobei dein run-Befehl auch keine volumes/Ordner mappt, sodass ich mich frage, wie du auf die Fehler von Fritzbox usw. kommst? Die sind in der Standardkonfig ja nicht drin. Vielleicht liegts also doch daran, solltest du erst beim Test mit dem compose-file deinen fhem-Ordner gemappt haben.

Da habe ich mich wohl unklar ausgedrückt. In der Standardkonfig habe ich mir das log nicht angeschaut - da ist ja nichts gemappt. Fritzbox usw bezieht sich auf start mit Volumes via compose...


Viele Grüße
Guido
Titel: Aw: Docker: Verbindung fehlgeschlagen
Beitrag von: passibe am 28 Oktober 2024, 23:22:48
Zitat von: fettgu am 28 Oktober 2024, 23:12:20LISTEN 0      4096         0.0.0.0:8083      0.0.0.0:*    users:(("docker-proxy",pid=837771,fd=4))
LISTEN 0      4096            [::]:8083         [::]:*    users:(("docker-proxy",pid=837781,fd=4))

Ok gut, docker mappt den Port richtig.

Dann ist es wohl doch ein Problem mit den Abhängigkeiten. Sieht man auch im Log, denn FHEM startet nicht richtig (und wird deshalb immer wieder neugestartet):

ERROR: Fatal: No message from FHEM since 60 seconds that server has started.
INFO: Sending SIGTERM (equivalent to "shutdown" command) to FHEM (pid 4969).
/entry.sh: line 928: kill: (4969) - No such process
INFO: Waiting up to 30s for FHEM process (pid 4969) to terminate.
INFO: Stopping container. Bye!

Entsprechend müsstest du mal die jeweiligen Abhängigkeiten installieren bzw. die fhem.cfg nach und nach mit den einzelnen Devices bzw. Modulen füttern und dann Abhängigkeiten nachinstallieren. Wie das geht ist hier erklärt: https://github.com/fhem/fhem-docker/?tab=readme-ov-file#since-version-4

Kann aber hier auch sein, dass es an irgendetwas anderem als fehlenden Abhängigkeiten liegt, da sind ja doch noch einige Fehlermeldungen im Log ... also erstmal die alle beseitigen und dann sollte es auch funktionieren.
Titel: Aw: Docker: Verbindung fehlgeschlagen
Beitrag von: fettgu am 28 Oktober 2024, 23:24:32
Abarbeiten der Fehler im log hat dann geholfen

Viele Grüße
Guido Fett