Nginx Proxy Manager vs. Traefik vs. Caddy: Der Free-Hosting-Proxy-Vergleich
Drei Open-Source-Reverse-Proxys, null Euro Kosten: Wir haben Nginx Proxy Manager, Traefik und Caddy im realen Betrieb getestet – Konfiguration, Let's-Encrypt-Handling und Performance – und sagen dir am Ende, welcher Proxy zu dir passt.
Worauf es bei einem Reverse Proxy ankommt
Hinter einem Reverse Proxy verstecken sich alle deine Dienste: Er nimmt Anfragen von außen entgegen, stellt HTTPS-Zertifikate automatisch aus und leitet den Traffic an die richtigen Container weiter. Damit deine Dienste nie direkt im Internet hängen (siehe auch unser Docker-Compose-Tutorial), ist er das zentrale Einfallstor – und damit die wichtigste Komponente deines Setups. Getestet haben wir nach vier Kriterien:
- Einrichtung: Wie schnell steht der erste Proxy-Host?
- TLS-Automatisierung: Let's Encrypt inklusive Erneuerung – wie wartungsarm?
- Docker-Integration: Erkennt der Proxy neue Container selbst?
- Ressourcen & Flexibilität: RAM-Verbrauch und Grenzen der Konfiguration.
Nginx Proxy Manager (NPM) – die GUI-Lösung
NPM kombiniert den bewährten Nginx mit einer sauberen Weboberfläche. Jeder neue Dienst wird per Formular angelegt: Domain eintragen, Ziel-Container auswählen, SSL-Häkchen setzen – fertig. Auch erweiterte Funktionen wie Access Lists, IP-Sperren oder das Blockieren von Scannern lassen sich klickbar konfigurieren.
Für Einsteiger ist NPM unschlagbar, weil es keine Konfigurationssprache erfordert. Der Preis dafür: Die Docker-Integration ist schwach – neue Container werden nicht automatisch erkannt, und pro Dienst musst du das Zielnetzwerk manuell angeben. Wer viele Dienste betreibt und dynamisch erweitert, ertrinkt irgendwann in Klicks.
services:
npm:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
- "80:80" # HTTP (für Let's Encrypt)
- "443:443" # HTTPS
- "81:81" # Admin-UI
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Traefik – der Automatiker
Traefik dreht das Prinzip um: Statt den Proxy zu konfigurieren, beschreibst du die Dienste – und
Traefik entdeckt sie selbst. Der Clou sind Docker-Labels: Jede Compose-Datei
enthält die Routing-Regeln direkt am Container, und beim docker compose up übernimmt
Traefik Router, Service und Zertifikat vollautomatisch.
services:
mein-dienst:
image: beispiel/app
labels:
- "traefik.enable=true"
- "traefik.http.routers.mein-dienst.rule=Host(`app.example.org`)"
- "traefik.http.routers.mein-dienst.tls.certresolver=letsencrypt"
networks: [proxy]
networks:
proxy:
external: true
Das klingt zunächst abstrakt, zahlt sich aber aus, sobald der Stack wächst: Neue Dienste brauchen keine einzige Änderung am Proxy. Traefik spielt seine Stärke also genau dort aus, wo NPM schwächelt – bei vielen, sich ständig ändernden Containern. Die Lernkurve ist dafür am steilsten, und die GUI fällt komplett weg.
Caddy – der Minimalist
Caddy ist der Underdog mit dem elegantesten Konzept: eine Caddyfile mit wenigen Zeilen pro Domain, und TLS inklusive Zertifikatsverwaltung ist schlicht eingebaut – ohne extra Resolver-Konfiguration. HTTPS ist hier kein Add-on, sondern der Default.
app.example.org {
reverse_proxy uptime-kuma:3001
}
cloud.example.org {
reverse_proxy nextcloud:80
}
Mehr steht nicht in der Datei, die deine komplette Web-Infrastruktur steuert. Einfacher geht es kaum –
und weil Caddy in Go geschrieben ist, braucht er kaum Ressourcen. Nachteil: Ohne Labels muss jede neue
Domain von Hand in die Caddyfile – und ein Reload (docker exec caddy caddy reload) ist nötig.
Ein Ansible- oder Shell-Skript löst das für Fortgeschrittene elegant.
Direktvergleich in der Tabelle
| Kriterium | Nginx Proxy Manager | Traefik | Caddy |
|---|---|---|---|
| Einrichtung | ⭐⭐⭐⭐⭐ GUI, sofort verständlich | ⭐⭐ Konfig über Labels/CLI | ⭐⭐⭐⭐ Caddyfile, schnell gelernt |
| Let's Encrypt | Per Klick | Automatisch (Resolver) | Automatisch, eingebaut |
| Docker-Auto-Discovery | ❌ Nein | ✅ Ja (Labels) | ⚠️ Nein, aber Skripte möglich |
| GUI / Dashboard | ✅ Vollwertig | ✅ Dashboard (nur Status) | ❌ Keine |
| Erweiterte Config (Header, Auth, Rate-Limit) | Teils per UI, sonst Nginx-Syntax | Middleware-System | Direktiven + Plugins |
| RAM-Verbrauch (idle) | ~ 80–120 MB | ~ 40–70 MB | ~ 20–40 MB |
| Beste Zielgruppe | Einsteiger, wenige Dienste | Viel-Dienste-Betreiber, Homelab-Pro | Minimalisten, Code-Liebhaber |
Performance-Unterschiede waren im Test vernachlässigbar: Alle drei schaffen mehrere tausend Requests pro Sekunde und liegen weit über dem Bedarf eines privaten Hostings. Die Wahl ist also keine Technik-, sondern eine Bedienungsfrage.
Unsere Empfehlung
Startest du gerade erst mit Self-Hosting und betreibst fünf bis zehn Dienste? Dann nimm Nginx Proxy Manager – die GUI erspart dir den Einstieg ins Konfig-Dickicht und ist nach einem Abend sicher verstanden. Läuft dein Homelab bereits und du willst jeden Dienst mit drei Label-Zeilen anbinden? Dann ist Traefik die Investition, die sich bei Container Nummer 15 bezahlt macht. Und wenn du Konfiguration als Code liebst und auf Klick-Interfaces verzichten kannst, wirst du mit Caddy am glücklichsten.
✅ Zum Mitnehmen: Einsteiger → NPM (GUI). Viel-Betreiber → Traefik (Labels).
Minimalisten → Caddy (Caddyfile). Alle drei sind komplett Open Source, kostenlos und verwalten
Let's-Encrypt-Zertifikate automatisch. Egal welcher: Dienste nur an 127.0.0.1 binden –
der Proxy übernimmt die Außenwelt.