- netbird: The CLI and background daemon that manages the WireGuard interface
- netbird-ui: The optional desktop GUI application
All installation methods install both the CLI and daemon. The UI is optional and only installed on desktop environments.
Linux
NetBird supports all major Linux distributions through native packages and a universal installation script.One-Line Installer (Recommended)
The quickest way to install on any Linux system:- Detects your distribution and package manager
- Adds the official NetBird repository
- Installs
netbirdandnetbird-ui(on desktop systems) - Sets up and starts the NetBird service
Debian/Ubuntu (apt)
For Debian, Ubuntu, and derivatives:RHEL/CentOS/Fedora (yum/dnf)
For RedHat-based distributions:Fedora Silverblue/rpm-ostree
For immutable Fedora variants:The service is automatically started after installation on rpm-ostree systems.
NixOS
Add to yourconfiguration.nix:
Arch Linux
NetBird is available in the AUR:Binary Installation (Any Linux)
For distributions without package manager support:macOS
One-Line Installer (Recommended)
The universal installer works on both Intel and Apple Silicon:.pkg installer, which includes both the CLI and GUI app.
Homebrew
Install via Homebrew:Manual Installation
Download the installer for your architecture: Apple Silicon (M1/M2/M3):Starting the Service
The service is installed automatically but may need to be started:On macOS, WireGuard interfaces must use the
utun prefix (e.g., utun5, utun99). This is handled automatically by default.Windows
GUI Installer (Recommended)
- Download the installer from app.netbird.io/install
- Run the
.exefile - Follow the installation wizard
- NetBird will start automatically after installation
PowerShell (Command Line)
Download and run from PowerShell (as Administrator):Manual Installation
- Download from GitHub Releases
- Look for
netbird_installer_<version>_windows_amd64.exe - Run the installer
Starting the Service
The Windows service starts automatically. To manage it:Docker
Run NetBird in a Docker container:Interactive Mode
With Setup Key (Automation)
Docker Compose
NB_SETUP_KEY: Setup key for authentication (alternative to SSO)NB_MANAGEMENT_URL: Management server URL (default: NetBird Cloud)NB_LOG_LEVEL: Logging level (debug, info, warn, error)NB_INTERFACE_NAME: WireGuard interface name (default: wt0)NB_WIREGUARD_PORT: WireGuard listen port (default: 51820)
Rootless Docker (Experimental)
For rootless Docker environments:Android & iOS
Android
Install from Google Play Store:- Search for “NetBird” in the Play Store
- Install the app
- Open and sign in with your NetBird account
- Tap “Connect” to establish the VPN
iOS
Install from Apple App Store:- Search for “NetBird” in the App Store
- Install the app
- Open and sign in with your NetBird account
- Grant VPN permissions when prompted
- Tap “Connect” to establish the VPN
OpenWRT
For OpenWRT routers:Replace
<version> with the actual version number and arm with your architecture (arm, arm64, mips, etc.).Post-Installation
After installing on any platform:1. Start the Service
2. Connect to NetBird
3. Verify Connection
Updating NetBird
Linux (Package Manager)
Linux (Binary Installation)
macOS (Homebrew)
Windows
Download and run the latest installer—it will upgrade the existing installation.Docker
Uninstalling NetBird
Linux (Package Manager)
macOS (Homebrew)
Windows
Use “Add or Remove Programs” in Windows Settings, or run the uninstaller from the installation directory.Advanced Configuration
Custom Interface Name
Custom WireGuard Port
MTU Configuration
Disable Auto-Connect
Enable Debug Logging
Rosenpass (Quantum Resistance)
Troubleshooting
Service Won’t Start
Permission Issues (Linux)
Connection Issues
Next Steps
Quickstart Guide
Connect your first devices in 5 minutes
Access Control
Configure groups and access rules
Private DNS
Set up custom DNS names for your network
Network Routing
Route traffic to external networks