Gluetun - VPN-Client-Container mit Kill-Switch für alle Dienste
Gluetun - VPN-Client-Container mit Kill-Switch für alle Dienste
Gluetun ist ein Docker-Container, der eine VPN-Verbindung aufbaut und anderen Containern als Netzwerk-Gateway dient — mit eingebautem Kill-Switch, der den Datenverkehr bei VPN-Abbruch sofort blockiert.
Was ist Gluetun?
Gluetun löst ein klassisches Problem im Self-Hosting: Einzelne Dienste wie Torrent-Clients sollen ausschließlich über VPN kommunizieren, während andere Container davon unberührt bleiben. Statt VPN-Clients in jeden Container zu integrieren, verbindet sich Gluetun einmalig mit dem VPN-Anbieter und teilt die Verbindung über den Docker-Netzwerk-Namespace. Unterstützt werden alle großen Anbieter (Mullvad, ProtonVPN, NordVPN, Surfshark u. v. m.) sowie benutzerdefinierte WireGuard- und OpenVPN-Konfigurationen.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Aktives VPN-Abonnement bei einem unterstützten Anbieter
NET_ADMIN-Capability auf dem Host
Compose-Beispiel
services:
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
restart: unless-stopped
cap_add:
- NET_ADMIN
ports:
- "8080:8080"
- "8888:8888/tcp"
- "8388:8388/udp"
environment:
- VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=deinPrivaterWireGuardKey
- WIREGUARD_ADDRESSES=10.64.0.2/32
- SERVER_COUNTRIES=Germany
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: service:gluetun
restart: unless-stopped
volumes:
- ./downloads:/downloads
Hinweise
network_mode: service:gluetun: Mit dieser Einstellung teilt ein anderer Container den vollständigen Netzwerk-Namespace von Gluetun — er kann nur noch über das VPN kommunizieren.- Kill-Switch: Bricht die VPN-Verbindung ab, blockiert Gluetun sofort den gesamten ausgehenden Traffic der angebundenen Container. Kein Leak möglich.
- HTTP-Proxy: Gluetun stellt optional einen HTTP-Proxy auf Port 8888 bereit, über den auch nicht-Dockerisierte Anwendungen das VPN nutzen können.
- Anbieter-Konfiguration: Die Umgebungsvariablen unterscheiden sich je nach Anbieter und Protokoll — die vollständige Liste in der offiziellen Dokumentation nachschlagen.