Traefik + Let’s Encrypt: HTTPS automatisch für alle Container

Traefik ist ein moderner Reverse Proxy, der die automatische Bereitstellung von HTTPS-Zertifikaten über Let’s Encrypt unterstützt. Mit Docker Compose lässt sich Traefik so konfigurieren, dass alle containerisierten Services automatisch sichere Routen erhalten, ohne dass manuell Zertifikate hinterlegt werden müssen. Dieses Tutorial zeigt Schritt für Schritt, wie Traefik und Let’s Encrypt auf Linux mit Docker Compose eingerichtet werden, inklusive persistenter Volumes, Netzwerke und automatischer Zertifikatserneuerung.

Grundkomponenten des Traefik + Let’s Encrypt Setups

Das Setup besteht aus folgenden Komponenten:

  • Traefik: Reverse Proxy und Zertifikatsmanager
  • Docker Services: Containerisierte Anwendungen, die Traefik verwaltet
  • Volumes: Persistente Speicherung für Traefik-Konfigurationen, Zertifikate und Logs
  • Netzwerke: Interne Kommunikation zwischen Traefik und den Services

Volumes für Persistenz

Persistente Volumes stellen sicher, dass Konfigurationen und SSL-Zertifikate auch nach Container-Neustarts erhalten bleiben.

volumes:
  traefik_config:
  traefik_certificates:
  traefik_logs:
  • traefik_config für statische und dynamische Konfiguration
  • traefik_certificates für Let’s Encrypt Zertifikate (acme.json)
  • traefik_logs für Proxy-Logs

Netzwerke für interne Kommunikation

Ein separates Netzwerk sorgt für sichere interne Kommunikation zwischen Traefik und den containerisierten Services.

networks:
  web_proxy_net:
  • Alle Services, die Traefik verwalten soll, verbinden sich mit web_proxy_net
  • Erleichtert Port-Mapping für HTTP/HTTPS-Zugriffe

Beispiel: docker-compose.yml für Traefik mit Let’s Encrypt

version: '3.8'

services:
traefik:
image: traefik:v2.12
container_name: traefik
restart: unless-stopped
command:
- "--api.insecure=false"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.lets-encrypt.acme.httpchallenge=true"
- "--certificatesresolvers.lets-encrypt.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.lets-encrypt.acme.email=admin@example.com"
- "--certificatesresolvers.lets-encrypt.acme.storage=/certificates/acme.json"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- traefik_config:/etc/traefik
- traefik_certificates:/certificates
- traefik_logs:/logs
networks:
- web_proxy_net

Labels für automatische HTTPS-Routen

Um einen Service über Traefik mit automatischem HTTPS auszustatten, müssen Labels gesetzt werden:

services:
  whoami:
    image: containous/whoami
    container_name: whoami
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`whoami.example.com`)"
      - "traefik.http.routers.whoami.entrypoints=web,websecure"
      - "traefik.http.routers.whoami.tls.certresolver=lets-encrypt"
    networks:
      - web_proxy_net
  • Label traefik.enable=true aktiviert automatische Routenerkennung
  • Host: Domain für die Weiterleitung
  • EntryPoints und TLS-Resolver sorgen für HTTP/HTTPS mit automatischer Zertifikatserneuerung

Start und Verwaltung des Traefik-Stacks

Starten Sie Traefik und die Services mit:

docker-compose up -d

Zum Stoppen und Entfernen aller Container, Netzwerke und Volumes:

docker-compose down -v

Best Practices

  • Volumes für Konfiguration, Zertifikate und Logs nutzen
  • Separate Netzwerke für Traefik und Services
  • Labels gezielt setzen, um Services automatisch zu veröffentlichen
  • Let’s Encrypt für SSL verwenden und acme.json regelmäßig sichern
  • Versionierte Docker Images verwenden, um Updates und Rollbacks zu erleichtern
  • Monitoring über Traefik Dashboard aktivieren
  • Externe Ports nur bei Bedarf öffnen
  • Regelmäßige Backups der acme.json und Konfigurationen

Praxisbeispiele

Traefik starten

docker-compose up -d

Logs überwachen

docker-compose logs -f traefik

Neuen Service hinzufügen

docker-compose up -d whoami

Updatefähigkeit

Versionierte Docker Images ermöglichen unkomplizierte Updates von Traefik, während Volumes und Zertifikate unverändert bleiben. Backups der acme.json und Konfigurationen stellen sicher, dass automatische HTTPS-Zertifikate nach Updates weiterhin funktionieren.

docker-compose pull
docker-compose up -d

Zusammenfassung

Mit Docker Compose lässt sich Traefik mit Let’s Encrypt schnell, sicher und automatisch konfigurierbar auf Linux betreiben. Persistente Volumes, interne Netzwerke, Labels und automatische Zertifikate sorgen für Wartbarkeit, Sicherheit und Updatefähigkeit. Versionierte Images erleichtern Updates und Rollbacks und ermöglichen eine stabile Infrastruktur für containerisierte Services mit HTTPS.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles