Einleitung
Die Einrichtung und Verwaltung einer selbst gehosteten Umgebung kann eine lohnende Aufgabe sein, insbesondere wenn Sie einen Virtual Private Server (VPS) nutzen, um Ihre Anwendungen zu hosten. Traefik, ein moderner Reverse-Proxy und Lastenausgleicher für Mikrodienste, kann Ihre Routing-Bedürfnisse vereinfachen. In diesem Leitfaden werden wir untersuchen, wie Sie Traefik einrichten, um automatisch SSL-Zertifikate für all Ihre Docker-Anwendungen auf einem VPS zu verwalten.
Einrichtung von Traefik auf Ihrem VPS
Befolgen Sie diese Schritte, um Traefik auf Ihrem VPS zum Laufen zu bringen.
Anforderungen
- Ein VPS (sehen Sie sich unseren kompletten VPS-Vergleich an)
- Docker und Docker Compose auf Ihrem VPS installiert
- Grundkenntnisse in Docker und Netzwerktechnik
Schritt 1: Wählen Sie Ihren VPS-Anbieter
Die Auswahl des richtigen VPS-Anbieters beeinflusst Ihr Selbsthosting-Erlebnis. Hier ist ein Vergleich der besten Anbieter:
| Anbieter | Monatliche Kosten (EUR/USD) | Hinweise |
|---|---|---|
| Contabo VPS | 5,99 EUR | Gute CPU- und Speicheroptionen |
| Hetzner Cloud | 4,15 EUR | Budgetfreundlich mit hervorragenden Specs |
| DigitalOcean | 6 USD | Entwicklerfreundlich mit Regionen |
| Vultr | 6 USD | Flexible Abrechnungsoptionen |
| Linode | 5 USD | Toller Support und Community |
Schritt 2: Docker und Docker Compose installieren
Für die meisten Linux-Distributionen können Sie Docker und Docker Compose mit den folgenden Befehlen installieren:
# Paketindex aktualisieren
sudo apt-get update
# Docker installieren
sudo apt-get install -y docker.io
# Docker Compose installieren
sudo apt-get install -y docker-compose
Schritt 3: Docker-Netzwerkkonfiguration
Erstellen Sie ein Docker-Netzwerk für Traefik und Ihre Apps:
docker network create web
Schritt 4: Traefik-Konfiguration
Um Traefik zu installieren, erstellen Sie ein Verzeichnis dafür:
mkdir traefik && cd traefik
Erstellen Sie nun eine docker-compose.yml-Datei mit folgendem Inhalt:
version: '3.7'
services:
reverse_proxy:
image: traefik:v2.5
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./letsencrypt:/letsencrypt"
networks:
- web
networks:
web:
external: true
Stellen Sie sicher, dass Sie [email protected] mit Ihrer tatsächlichen E-Mail-Adresse für Let’s Encrypt-Benachrichtigungen ersetzen.
Schritt 5: Traefik starten
Führen Sie den folgenden Befehl aus, um Traefik zu starten:
docker-compose up -d
Sie können überprüfen, ob Traefik läuft, indem Sie http://YOUR_VPS_IP:8080 aufrufen, wo Sie das Traefik-Dashboard finden.
Schritt 6: Bereitstellung von Docker-Anwendungen
Mit Traefik im Betrieb können Sie andere Docker-Anwendungen bereitstellen, indem Sie Labels verwenden, um mit Traefik für Routing und SSL zu integrieren. Hier ist ein Beispiel für eine Anwendungs-Konfiguration:
version: '3.7'
services:
my_app:
image: my_app_image
labels:
- "traefik.enable=true"
- "traefik.http.routers.my_app.rule=Host(`yourdomain.com`)"
- "traefik.http.routers.my_app.entrypoints=websecure"
- "traefik.http.routers.my_app.tls=true"
- "traefik.http.routers.my_app.tls.certresolver=myresolver"
networks:
- web
Schritt 7: Zugriff auf Ihre Anwendung
Mit Ihrer bereitgestellten Anwendung können Sie sicher über https://yourdomain.com darauf zugreifen.
FAQ
Was ist, wenn meine Anwendung keine Domain oder Subdomain hat?
Die Nutzung von Traefik erfordert, dass Sie eine Domain oder Subdomain für die SSL-Ausstellung über Let’s Encrypt festlegen. Wenn Sie keine Domain haben, sollten Sie in Betracht ziehen, eine über einen Domain-Registrar zu registrieren. Eine andere Möglichkeit ist die Verwendung eines dynamischen DNS-Dienstes, den viele Anbieter unterstützen, was es Ihnen ermöglicht, den Datenverkehr zuverlässig ohne eine statische Domain zu leiten.
Wie verwaltet Traefik SSL-Zertifikate?
Traefik integriert sich nahtlos mit Let’s Encrypt, einer automatischen Zertifizierungsstelle, die kostenlos SSL-Zertifikate ausstellt. Durch die Konfiguration von Traefik mit spezifischen Einstellungen in der docker-compose.yml-Datei, wie oben gezeigt, fordert es automatisch Ihre SSL-Zertifikate an und erneuert sie. Dies stellt sicher, dass Ihre Verbindungen zu Docker-Anwendungen sicher bleiben, ohne dass manuelle Eingriffe erforderlich sind.
Ist Traefik für eine Produktionsumgebung geeignet?
Ja, Traefik ist für den Einsatz in Produktionsumgebungen konzipiert und bietet nahtloses SSL-Management sowie Unterstützung für Mikrodienste-Architekturen. Mit Funktionen wie Lastenausgleich, automatischer Weiterleitung und einem leicht verständlichen Dashboard ist es ein leistungsstarkes Tool für jede Produktionsumgebung. Unternehmen, Entwickler und Homelabber haben Traefik erfolgreich in verschiedenen selbst gehosteten Umgebungen eingesetzt.
Fazit
Die Verwendung von Traefik zur Automatisierung von SSL für Ihre Docker-Apps auf einem VPS vereinfacht den Verwaltungsprozess, verbessert die Sicherheit und spart Zeit. Angesichts der wachsenden Bedeutung von HTTPS ist diese Einrichtung eine lohnenswerte Investition für jeden Entwickler oder Homelabber. Viel Spaß beim Selbsthosting!