- Veröffentlicht am
- • How2-Host
NetBird selbst hosten – Schritt-für-Schritt-Anleitung
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-

Einleitung
NetBird ist eine moderne VPN-Plattform, die Zero-Trust-Prinzipien mit der Geschwindigkeit und Sicherheit von WireGuard kombiniert. Für Unternehmen, Datenschutz-Enthusiasten oder Admins mit hohem Sicherheitsanspruch bietet NetBird eine attraktive Self-Hosting-Option – ganz ohne Abhängigkeit von externen Cloud-Diensten.
In diesem Artikel zeigen wir dir Schritt für Schritt, wie du NetBird auf deinem eigenen Server installierst.
Voraussetzungen
Bevor es losgeht, stelle sicher, dass folgende Anforderungen erfüllt sind:
- Linux-Server (z. B. Debian 12, Ubuntu 22.04 o. ä.)
- Grundkenntnisse in Linux und Docker
- Eine öffentliche Domain (z. B.
vpn.meinefirma.de
) - Zugang zum DNS-Management der Domain (für A-/CNAME-Records und optional ACME-DNS)
- Installiertes Docker und Docker Compose
1. Projektstruktur erstellen
Erstelle ein Verzeichnis für deine NetBird-Installation:
mkdir ~/netbird && cd ~/netbird
Lade das offizielle docker-compose.yml
von GitHub:
curl -o docker-compose.yml https://raw.githubusercontent.com/netbirdio/netbird/main/docker/docker-compose.selfhost.yml
2. .env
Datei konfigurieren
Erstelle eine .env
-Datei mit deinen Einstellungen:
cp env.example .env
nano .env
Wichtige Felder:
Variable | Beschreibung |
---|---|
NETBIRD_DOMAIN |
Die öffentliche Domain, z. B. vpn.example.com |
ACME_EMAIL |
Deine E-Mail für Let's Encrypt |
DNS_API_TOKEN |
(Optional) Token, wenn du ACME DNS-01-Challenge nutzt |
NETBIRD_ADMIN_EMAILS |
Komma-separierte Admin-E-Mails (z. B. admin@example.com ) |
3. SSL-Zertifikate aktivieren (optional, aber empfohlen)
NetBird verwendet Caddy als Reverse Proxy, um automatisch HTTPS-Zertifikate von Let's Encrypt zu erhalten.
Wenn du DNS-01-Challenges verwenden möchtest (z. B. bei interner IP), brauchst du einen API-Key deines DNS-Providers. Ansonsten funktioniert auch HTTP-01, solange dein Server öffentlich erreichbar ist.
4. Container starten
Starte den NetBird-Stack:
docker compose up -d
Schaue dir die Logs an, um sicherzustellen, dass alles korrekt läuft:
docker compose logs -f
5. Zugriff auf das Admin-Panel
Sobald alles läuft, kannst du NetBird unter deiner Domain im Browser aufrufen:
https://vpn.example.com
Nutze die im .env
eingetragenen E-Mail-Adressen, um dich als Administrator anzumelden. Der erste Login erstellt das Admin-Konto.
6. Clients verbinden
Installiere den NetBird-Agent auf einem Gerät (z. B. Linux, macOS oder Windows):
curl -sSfL https://pkgs.netbird.io/install.sh | sh
Dann mit dem Self-Hosted-Server verbinden:
netbird up --management-url https://vpn.example.com
Der Client sollte nun im Admin-Panel sichtbar sein und kann per ACLs verwaltet werden.
7. Optional: DNS, Gruppen, ACLs einrichten
Über das Dashboard kannst du:
- Geräte gruppieren
- ACL-Regeln festlegen (z. B. nur bestimmte Gruppen dürfen miteinander kommunizieren)
- benutzerdefinierte DNS-Zonen definieren
8. Container stoppen & aktualisieren
NetBird lässt sich leicht stoppen oder aktualisieren:
docker compose down # Stoppt alles
docker compose pull # Holt neue Images
docker compose up -d # Startet erneut mit Updates
Fazit
Mit wenigen Schritten kannst du dir eine vollständig selbst gehostete VPN-Lösung aufbauen – sicher, performant und transparent. NetBird ist nicht nur eine Alternative zu klassischen VPNs, sondern ein moderner Zero-Trust-Netzwerkansatz für die Anforderungen von heute.
Links & Quellen
- Offizielle Docs: https://docs.netbird.io
- GitHub Repo: https://github.com/netbirdio/netbird
- Community: https://discord.gg/netbird