cbirkenbeul / docker-homelab

Docker Compose Dateien für Homelabs
https://www.teqqy.de
Apache License 2.0
618 stars 116 forks source link

Treafik Upgrade Fehler #50

Closed mighty-services closed 4 years ago

mighty-services commented 4 years ago

Hallo Herr Birkenbeul,

erstmal vielen dank für dieses extrem umfangreiche, ausführliche und aktuell-gehaltene Repository!

Ich nutze Ihr Setup seit einiger Zeit und konnte dadurch einen guten Einstieg in Traefik, Docker und dergleichen erhalten. Vielen Dank!!!

Ich habe nun shcon seit einiger Zeit das Problem, dass sich Traefik (mom. version 2.2.1) beim UPgraden auf aktuellere Versionen (z.B. 2.3) nicht mehr starten lässt. Ziehe ich das neue image mit "docker pull" und starte es mit "docker compose up" bleibt er bei "Attaching to traefik" stehen. Im Log stehen mehrere Zeilen mit "close tcp [::]:80: use of closed network connection" entryPointName=http" oder "close tcp [::]:443: use of closed network connection" entryPointName=https", obwohl ich die Entrypoint laut ihrer Vorlage auf "web" und "web-secure" umbenannt habe (so jedenfalls in der config.toml".

Ich nutze ein vollständig gepatchtes Ubuntu 20.04 mit dieser compose-Datei:

version: '3.7'

services:
  traefik:
    image: traefik:latest
    container_name: traefik
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - $PWD/config:/etc/traefik
      - /etc/localtime:/etc/localtime
    labels:
      - "traefik.enable=true"
      # HTTP-Setting
      - "traefik.http.routers.traefik-http.entrypoints=web"
      - "traefik.http.routers.traefik-http.rule=Host(`traefik.xxx.de`)"
      # HTTPS-Settings
      - "traefik.http.routers.traefik-https.entrypoints=web-secure"
      - "traefik.http.routers.traefik-https.rule=Host(`traefik.xxx.de`)"
      - "traefik.http.routers.traefik-https.tls=true"
      - "traefik.http.routers.traefik-https.tls.certresolver=default"
      - "traefik.http.routers.traefik-https.service=api@internal"
      # HTTP to HTTPS redirection
      - "traefik.http.routers.traefik.middlewares=traefik-https-redirect@docker"
      - "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme=https"
      # Authentification
      - "traefik.http.routers.traefik-https.middlewares=traefik-auth"
      - "traefik.http.middlewares.traefik-auth.basicauth.users=xxxx"
    networks:
      - traefik_proxy
      - default
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    restart: always

networks:
  traefik_proxy:
    external:
      name: traefik_proxy
  default:
    driver: bridge

das ist die gesamte toml-Datei:

[log]
  level = "ERROR"

[providers]
  [providers.docker]
    exposedByDefault = false
    endpoint = "unix:///var/run/docker.sock"
    network = "traefik_proxy"
  [providers.file]
    filename = "/etc/traefik/dynamic.yml"

[api]
  dashboard = true

[entryPoints]
  [entryPoints.http]
    address = ":80"
  [entryPoints.https]
    address = ":443"
  [entryPoints.dashboard]
    address = ":8080"

[certificatesResolvers]
  [certificatesResolvers.default.acme]
    email = "xxx@xxxx.de"
    storage = "acme.json"
    [certificatesResolvers.default.acme.tlsChallenge]
cbirkenbeul commented 4 years ago

Hallo, es wird an der dynamic.yml Datei liegen. Traefik beachtet die YAML Formatierungen mit Version 2.3 wesentlich strikter. Am besten die Datei aus diesem Repository austauschen (wie gesagt, es liegt primär an den Leerzeichen). Das Problem hatten wir bereits bei diversen Nutzern und wurde schon hier gefixt. Wenn es allerdings dann noch nicht funktionieren sollte, bitte noch mal Feedback. Aber bei mir und anderen funktionierte es dann.

mighty-services commented 4 years ago

Ah danke! Ja ich habe die aktuelle Konfig ab der dritten Zeile übernommen (also ohne das "Stopping traefik" und die Striche). Und es hat funktioniert!

Super! Vielen Dank für die Schnelle Hilfe!!