Container Anwendungen haben viele Leser bereits im HomeLab im Einsatz, jetzt kommt eine neue Anwendung hinzu, wo es sich lohnt ein Blick auf Traefik Hub zu werfen. Traefik Hub dient als Gateway, um Dienste mittels sicherer Tunnel zu veröffentlichen, die innerhalb eines Docker-Clusters angesiedelt sind. Container mit dem Reverse-Proxy Traefik ins Netz zu hängen, ist meist kein einfacher Vorgang. Traefik Hub erleichtert dieses durch das integrierte Service-Discovery. Dies ist eine automatische Erkennung von Diensten im Servernetz. Das Dashboard liefert Metriken zu Ihren veröffentlichten Diensten, wie Anfragen pro Sekunde und Antwortzeiten des Servers. Alle Dienste sind mit einer Access Control Policies benutzbar.
Vorteile:
- Keine Freischaltung von Ports auf dem DSL-Router wie Fritzbox nötig
- Kein NAT nötig
- Nutzbar für DSL-Light Anschlüsse die keine Dienste nach außen freigeben können
- Einbindung eigener Domain mit CNAME möglich inkl. TLS/SSL
- Automatische Erstellung von Lets Encrypt Zertifikate inkl. CNAME Domain
- Traefik Tunnel Technologie ohne Freischaltungen
Nachteile:
- Ab 1 GB Traffic wird der Dienst kostenpflichtig
- Derzeit noch im Betastatus

Benötigt wird:
- Account bei hub.traefik.io
- Raspberry Pi 3+ oder besser Pi 4 mit 4GB Speicher https://1.access.ly/pGIkG ( * )
- Software docker.io / docker-compose
- Eigene Domain ( optional ) mit Zugriff auf Erstellung von CNAME
Software Installation:
apt install docker.io apt install docker-compose
Vorbereitung der Docker Container:
Für die Installation wird der hub.token von hub.traefik.io benötigt, diesen ersetzen.
docker network create traefik-hub docker run -d --name traefik --network traefik-hub traefik:v2.8 --experimental.hub=true --hub.tls.insecure=true --metrics.prometheus.addrouterslabels=true docker run -d --volume /var/run/docker.sock:/var/run/docker.sock --restart="on-failure" --network=traefik-hub --pull=always --name=hub-agent ghcr.io/traefik/hub-agent-traefik:v0.8.0 run --auth-server.advertise-url=http://hub-agent --hub.token=xxxxxxxxx --traefik.host=traefik --traefik.tls.insecure=true Erstelle ein docker-compose.yml mkdir -p /home/pi/docker/httpd cd /home/pi/docker/httpd version: '2.2' services: apache: image: httpd:latest container_name: apache2 ports: - '8080:80' volumes: - ./website:/usr/local/apache2/htdocs docker-compose up -d
Das ganze sieht wie folgt aus:

Es sollte nun im Dashboard von Traefik Hub ein Agent sichtbar sein. Veröffentliche den Apache2 Server im Dashboard als Service. Im Anschluss wird automatisch eine URL erstellt.

In diesen Fall für den Artikel ist es:
https://easy-reindeer-te1xtn.jxbnas2o.traefikhub.io.
Bei Aufruf im Browser wird die Default-Webseite des Apache-Webserver angezeigt.
Wenn nicht, dann unter /home/pi/docker/httpd/website, eine index.html erstellen.
Damit diese kryptische URL über einen eigenen Domainnamen erreichbar ist, benötigt es einen Eintrag im DNS-Server des Domainprovider. In meinem Fall für diesen Artikel, wird web.unixweb.eu als CNAME eingetragen. Diese Domain muss ebenfalls in Traefik Hub unter den eingerichteten Service hinzugefügt werden. Beachte hierbei die Service Meldung im Dashboard oben rechts mit der Glocke. Dort ist der Hinweis zu finden, dass die zusätzliche Domain mit einem TLS-Zertifikat erstellt und hinzugefügt ist.



Wer es noch etwas eleganter haben möchte, kann Portainer für Docker installieren. Dort können die Container neu gestartet, geupdated, neue Container eingerichtet werden. Wichtig ist, dass alle Container im Netzwerk „traefik-hub“ deployed werden. Damit kann der Traefik Docker Container automatisch erkennen, dass ein neuer Dienst hinzugefügt ist. Der neue Container ist sofort und automatisch im Traefik Hub unter Services sichtbar.


Alle Artikel auf dieser Seite sind mit einem sogenannte Provision-Links. Wenn du auf so einen Verweislink klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine Provision. Weiterführende Infos gibt es hier unter Punkt 8 in der Datenschutzerklärung https://blog.unixweb.de/datenschutzerklaerung/