Kennt ihr das Problem, wenn ihr einen Homeserver betreibt und dort Dienste wie Jellyfin, Immich, Nextcloud, Audiobookshelf etc. laufen, diese aber nur innerhalb eures Netzwerks funktionieren? Ihr würdet aber auch gerne von unterwegs darauf zugreifen? Dann kann euch Pangolin weiterhelfen!
Pangolin ist ein Reverse-Proxy-Tool. Allerdings ist es nicht wie etwa der NGINX Proxy Manager oder Traefik lokal in eurem Netzwerk gehostet, sondern auf einem Server im Web. Ihr benötigt also einen VPS (Virtual Private Server) und eine eigene Domain. Beides gibt es schon für einen relativ schmalen Taler im Monat zu mieten. Damit Pangolin die Dienste innerhalb eures Netzwerks freigeben kann, wird ein Client im Heimnetzwerk benötigt, zu dem ein WireGuard-VPN-Tunnel aufgebaut wird. Und hier liegt die große Stärke von Pangolin: Es muss kein einziger Port im Router geöffnet werden! Auch das Problem „Euer Internetanbieter stellt euch nur eine IPv6-Adresse bereit“ ist für Pangolin egal.
Voraussetzungen
- VPS, der im Internet erreichbar ist (minimale Specs reichen bei den meisten Anbietern aus)
- Eigene Domain (beispiel.de)
- Ein Server im eigenen Netzwerk, der die Verbindung zum Pangolin-Server herstellt (z. B. eine virtuelle Maschine oder ein Docker-Container)
Wenn ihr diese Voraussetzungen erfüllt, könnt ihr ohne Probleme Pangolin einrichten und nutzen.
Einrichtung des Servers
Ich nutze für meine Pangolin-Instanz den CX22-vServer von Hetzner (Ref-Link). Den habe ich mir inklusive IPv4 gegönnt. Andere vServer-Anbieter funktionieren aber genauso gut. Bei der Linux-Distribution habe ich mich für Ubuntu Server entschieden. Empfohlen werden sowohl Ubuntu als auch Debian.
Zusätzlich zur vServer-Instanz wird jetzt noch eine Domain benötigt. Diese muss nicht beim gleichen Anbieter liegen – es reicht, wenn der A-Record (IPv4) bzw. AAAA-Record (IPv6) auf die IP-Adresse des vServers zeigt.
Wenn sowohl der vServer als auch die Domain bereit sind, könnt ihr euch per SSH mit dem Server verbinden. Ein SSH-Client ist in Windows, macOS und Linux bereits integriert. Öffnet also in Windows die Kommandozeile (CMD) oder auf macOS bzw. Linux einfach das Terminal. Der Befehl ist bei allen identisch:
ssh user@domain.de Der Benutzername wird euch in der Regel vom Anbieter vorgegeben – meist ist es root. Wenn eure Domain korrekt auf den vServer zeigt, solltet ihr nach Drücken von Enter nach dem Server-Passwort gefragt werden.
Jetzt seid ihr per SSH mit eurem Root-Konto auf dem vServer eingeloggt. Zuerst solltet ihr das System aktualisieren. Dafür aktualisieren wir die Paketquellen mit:
sudo apt update Anschließend stoßen wir das Update an mit:
sudo apt upgrade Installation von Pangolin
Die Installation von Pangolin ist spielend einfach, wenn ihr bis hierhin gekommen seid. Es gibt ein Installationsskript, das euch Pangolin inklusive Docker installiert (falls Docker noch nicht vorhanden ist).
Installation per Installer
Ladet euch den Installer von GitHub mit folgendem Befehl herunter:
wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.5.1/installer_linux_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" && chmod +x ./installer Der Befehl macht die Datei direkt ausführbar. Wenn der Download fertig ist, führt ihr den Installer mit
sudo ./installer aus.
Einrichtung
Die Einrichtung besteht hauptsächlich daraus, ein paar Fragen zu beantworten. Bei der Domain gebt ihr die Domain an, die auf euren Pangolin-Server zeigt (z. B. kaffeezumkuchen.de).

Bei der nächsten Frage geht es um die Subdomain, unter der Pangolin erreichbar sein soll. Der Standard ist pangolin.kaffeezumkuchen.de, ihr könnt aber auch eine eigene Subdomain wählen.
Anschließend gebt ihr eure E-Mail-Adresse an. Diese wird benötigt, um gültige Let’s-Encrypt-Zertifikate zu erstellen – das passiert vollautomatisch.
Wenn gefragt wird, ob Gerbil für getunnelte Verbindungen genutzt werden soll, antwortet mit „yes“. Gerbil ist das WireGuard-Interface, das die Verbindung zwischen eurem Pangolin-Server und dem Client im Heimnetzwerk herstellt.
Danach wird das Administrator-Konto erstellt. Gebt dafür die E-Mail-Adresse an, mit der ihr euch einloggen wollt, und danach zweimal das gewünschte Passwort.
Die nächsten zwei Sicherheitsfragen könnt ihr auf Standard belassen. Relevant wird das nur, wenn ihr den Pangolin-Server mit anderen Nutzern teilt.
Optional könnt ihr die E-Mail-Konfiguration aktivieren – sinnvoll ist das vor allem, wenn ihr mehrere Nutzer verwaltet, damit „Passwort vergessen“-E-Mails verschickt werden können. Falls ihr das aktiviert, müsst ihr danach einen SMTP-Server angeben.
Wenn Docker noch nicht installiert ist, bietet euch das Skript die Installation an – einfach mit „yes“ bestätigen. Anschließend werden die Docker-Container gestartet.
Zum Schluss folgt die Frage, ob CrowdSec installiert werden soll. Das kann mit „no“ abgelehnt werden. Danach ist die Installation abgeschlossen! Ihr könnt euch jetzt auf eurem Pangolin-Server einloggen, indem ihr die Subdomain im Browser öffnet (z. B. pangolin.kaffeezumkuchen.de).
Pangolin konfigurieren
Die Konfiguration erfolgt komplett über das Webinterface. Loggt euch dort mit den Zugangsdaten ein, die ihr während der Installation vergeben habt.
Organisation einrichten
Zuerst werdet ihr aufgefordert, eine neue Organisation zu erstellen. Hier könnt ihr frei wählen – z. B. „Home“ oder etwas anderes. Eine Organisation kann mehrere Benutzer enthalten und ist vor allem relevant, wenn ihr den Server mit anderen teilt.

Site einrichten
Als Nächstes wird eine „Site“ angelegt. Eine Organisation kann mehrere Sites haben. Eine Site ist im Prinzip ein Tunnel – in unserem Beispiel der Tunnel vom Pangolin-Server zu eurem Heimnetzwerk.
Links im Menü wählt ihr Sites aus und klickt dann oben rechts auf Add Site. Gebt der Site einen Namen (z. B. „Home“). Die vorausgefüllte Adresse könnt ihr so belassen. Wählt den Newt Tunnel aus – dieser bietet die nötige Flexibilität.
Unten werden euch Zugangsdaten angezeigt. Diese erscheinen nur einmal – notiert sie euch! Falls sie verloren gehen, müsst ihr einen neuen Tunnel anlegen.
Zum Schluss wählt ihr aus, auf welchem System ihr das Ganze nutzen wollt und welche Architektur. Pangolin zeigt euch dann automatisch die passenden Befehle an. Ich empfehle, mit Docker Compose zu arbeiten.

Setzt außerdem den Haken bei Accept Client Connections, wenn andere Geräte im Heimnetzwerk dieselbe Verbindung nutzen sollen.
Kopiert euch die passenden Commands und klickt unten auf Create Site.
Tunnel im Heimnetzwerk öffnen
Jetzt ist euer Heimnetzwerk dran. Der einfachste Weg ist über Docker Compose. Falls ihr ein NAS-System mit Docker-Oberfläche habt, könnt ihr die Befehle dort einfügen. Wir arbeiten das hier aber anhand eines leeren Ubuntu-Servers ab.
Zuerst holt ihr euch das Installationsskript für Docker:
curl -fsSL https://get.docker.com -o get-docker.sh Dann führt ihr es aus:
sudo sh get-docker.sh Falls euer Nutzer kein Root ist, fügt ihn zur Docker-Gruppe hinzu:
sudo usermod -aG docker $USER Loggt euch danach einmal aus und wieder ein.
Erstellt euch nun einen Ordner, z. B. newt, und wechselt hinein:
mkdir newt
cd newt Jetzt erstellt ihr die Datei docker-compose.yml:
nano docker-compose.yml Fügt dort das Skript ein, das euch Pangolin ausgegeben hat. Das sollte ungefähr so aussehen:
services:
newt:
image: fosrl/newt
container_name: newt
restart: unless-stopped
environment:
- PANGOLIN_ENDPOINT=https://xxx.beispiel.de
- NEWT_ID=lif5cspqckclxzm
- NEWT_SECRET=i6nj9w337pg4ziy6o3sfgh45klt4e7e5gtz0ac6dxsxkdwsyg Speichert die Datei (Strg+X, dann Y) und startet den Container:
docker compose up -d Beim ersten Start dauert es etwas, bis das Image geladen ist. Danach sollte der Tunnel im Pangolin-Webinterface als online angezeigt werden.

Ressource einrichten
Jetzt funktioniert alles ähnlich wie bei einem Reverse Proxy, z. B. dem Nginx Proxy Manager. Klickt im Menü auf Resources und dann auf Add Resource.
Gebt der Ressource einen Namen (z. B. Jellyfin, Immich etc.). Als Typ wählt ihr meist HTTPS. Wählt dann eine Subdomain, z. B. immich.kaffeezumkuchen.de.
Unter „Target Configuration“ gebt ihr die interne IP-Adresse eures Dienstes im Heimnetzwerk an (z. B. http://192.168.178.10:5000). Keine Sorge – die Verbindung bleibt verschlüsselt:
Die externe Verbindung (Client → Pangolin-Server) läuft über SSL, und die interne Strecke (Pangolin-Server → Heimnetz) über den WireGuard-Tunnel.
Nach einem Klick auf Create Resource sollte euer Dienst bald über die Subdomain erreichbar sein.
Damit sind wir am Ende dieses Leitfadens angekommen. Ich hoffe, ich konnte euch helfen und Pangolin gefällt euch! Falls noch Fragen offen sind, nutzt gerne die Kommentarfunktion auf der Website.



Schreibe einen Kommentar