Headscale - Tailscale Control-Server selbst hosten
Headscale - Tailscale Control-Server selbst hosten
Headscale ist eine Open-Source-Implementierung des Tailscale Control-Servers, mit der ein eigenes WireGuard-Mesh-Netzwerk ohne Cloud-Abhängigkeit betrieben werden kann.
Was ist Headscale?
Tailscale baut auf WireGuard auf und erzeugt automatisch ein verschlüsseltes Mesh-Netzwerk zwischen Geräten. Normalerweise läuft der dazu nötige Koordinationsserver bei Tailscale selbst. Headscale ersetzt diesen Server durch eine selbstgehostete Alternative und gibt damit die vollständige Kontrolle über das Netzwerk zurück. Die offizielle Tailscale-Client-Software auf den Endgeräten bleibt dabei weiterhin kompatibel — es muss lediglich die Control-Server-URL geändert werden.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Öffentlich erreichbare IP oder Domain (für die Clients)
- Port 8080 (HTTP) und 3478 (STUN/UDP) müssen erreichbar sein
Compose-Beispiel
services:
headscale:
image: headscale/headscale:latest
container_name: headscale
restart: unless-stopped
ports:
- "8080:8080"
- "3478:3478/udp"
volumes:
- ./config:/etc/headscale
- ./data:/var/lib/headscale
command: serve
Hinweise
- Eine
config.yamlmuss manuell unter./configangelegt werden; das offizielle Repository enthält eine kommentierte Beispielkonfiguration. - Nutzer und Maschinen werden über die CLI (
headscale users create,headscale nodes register) verwaltet. - Für eine Web-Oberfläche gibt es das Drittanbieter-Projekt „Headscale-UI", das als separater Container daneben läuft.
- Clients verbinden sich mit
tailscale up --login-server=https://deine-domain.destatt mit dem Tailscale-Cloud-Server.