FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: DavidT am 25 Januar 2021, 13:14:44

Titel: docker - traefik
Beitrag von: DavidT am 25 Januar 2021, 13:14:44
Hallo zusammen. Kann mir jemand sagen wie ich fhem mit traefik zum laufen bekomme? Aktuell bekomme ich im Browser immer die Meldung "bad gateway" angezeigt wenn ich meine Domain aufrufe.
Ich habe ich das Ganze nach folgender Anleitung umgesetzt: https://goneuland.de/traefik-v2-reverse-proxy-fuer-docker-unter-debian-10-einrichten/
Zusätzlich habe ich portainer am laufen. traefik und portainer sind beide über meine Domain (Subdomain) erreichbar.
Für fhem habe ich folgende docker-compose Datei:


version: '2.3'
services:
  fhem:
    image: fhem/fhem:latest
    container_name: fhem
    restart: always
    security_opt:
      - no-new-privileges:true
    networks:
      - traefik_proxy
    ports:
      - "8083:8083"
    volumes:
      - "./fhem/:/opt/fhem/"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.fhem.entrypoints=http"
      - "traefik.http.routers.fhem.rule=Host(`fhem.meinedomain.de`)"
      - "traefik.http.middlewares.fhem-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.fhem.middlewares=fhem-https-redirect"
      - "traefik.http.routers.fhem-secure.entrypoints=https"
      - "traefik.http.routers.fhem-secure.rule=Host(`fhem.meinedomain.de`)"
      - "traefik.http.routers.fhem-secure.tls=true"
      - "traefik.http.routers.fhem-secure.tls.certresolver=http"
      - "traefik.http.routers.fhem-secure.service=fhem"
      - "traefik.http.services.fhem.loadbalancer.server.port=8083"
      - "traefik.docker.network=traefik_proxy"

networks:
  traefik_proxy:
    external: true


fhem selbst ist über die lokale IP erreichbar. In fhem habe ich in web das Attribute https aktiviert.
In der Logdatei steht folgendes:

2021.01.25 11:06:06.407 1: FHEMWEB SSL/HTTPS error:  SSL accept attempt failed error:1408F09C:SSL routines:ssl3_get_record:http request (peer: 172.18.0.3)

Leider kenne ich mich zu wenig mit Netzwerktechnik aus. Aber es scheint ein Problem mit SSL zu sein!?
Danke schon mal für eure Hilfe.
Titel: Antw:docker - traefik
Beitrag von: Wernieman am 26 Januar 2021, 10:08:02
Kenne traefik nicht ... arbeite mit nginx

aber .. FHEM hast Du bestimmt nur mit http eingerichtet, scheinbar aber in deiner Config für trafik anders ... wo DU jetzt drehen mußt, siehe Docu zu traefik
Titel: Antw:docker - traefik
Beitrag von: DavidT am 26 Januar 2021, 10:42:35
Hallo.

fhem läuft mit https. Ich habe das Attribute entsprechend der Anleitung im Wiki gesetzt. Anscheinend läuft aber das Zusammenspiel von fhem und traefik nicht sauber. Meine Hoffnung ist/war, dass hier im Forum jemand traefik mit fhem benutzt und mir sagen kann wie er das ganze zum laufen gebracht hat.
Titel: Antw:docker - traefik
Beitrag von: Wernieman am 26 Januar 2021, 10:47:55
Dann stimmen die Einstellungen mit http nicht ..
da Du 8083 von FHEM rausgelinkt hast, funktioniert den dort https?
Titel: Antw:docker - traefik
Beitrag von: DavidT am 26 Januar 2021, 11:05:10
Ja, wenn ich fhem über die lokale IP und HTTPS aufrufe funktioniert das ohne Probleme. Habe seit Jahren die Variante mit HTTPS und einer Portfreigabe im Router zu laufen. Ich wollte jetzt auf einen reverse Proxy umstellen. Und was ich so gelesen habe, ist traefik da in Verbindung mit docker eine gute Lösung.
Ich kenne mich leider zu wenig mit der Materie aus. Portainer erreiche ich ja auch mit den Labels über meine Subdomain.
Titel: Antw:docker - traefik
Beitrag von: Dangermouse am 06 Februar 2022, 16:50:14
Moin Casper2605,

bin gerade mein Googlen über diesen Thread gestoßen, ist das Thema evtl. noch aktuell?
Bei mir läuft FHEM netzintern unverschlüsselt, ich weiß allerdings daß im Zusammenspiel mit einem Synology-NAS (hier läuft bei mir Docker und Traefik drauf) das selbst signierte Zertifikat ein Problem werden kann, hier stört sich der Traefik gerne mal dran.
Umgehen kannst du das mit
[serversTransport]
  insecureSkipVerify = true

in der traefik.toml (oder wie auch immer deine statische Config-Datei heißt  ;) ). In der .yml muss es analog wie folgt aussehen:
serversTransport:
  insecureSkipVerify: true
.
Vielleicht hilft es dir und/oder anderen ja weiter.

LG Thorsten