docker - traefik

Begonnen von DavidT, 25 Januar 2021, 13:14:44

Vorheriges Thema - Nächstes Thema

DavidT

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.

Wernieman

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
- 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

DavidT

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.

Wernieman

#3
Dann stimmen die Einstellungen mit http nicht ..
da Du 8083 von FHEM rausgelinkt hast, funktioniert den dort https?
- 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

DavidT

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.

Dangermouse

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
FHEM auf Synology-NAS via Docker
piVCCU
HM-LAN & SCC 868 (MAX!) als Funkschnittstelle