Skip to main content
This guide covers installing the NetBird client on all supported platforms. The client consists of two components:
  • 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. The quickest way to install on any Linux system:
What it does:
  • Detects your distribution and package manager
  • Adds the official NetBird repository
  • Installs netbird and netbird-ui (on desktop systems)
  • Sets up and starts the NetBird service
Environment variables:

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 your configuration.nix:
Then rebuild your system:

Arch Linux

NetBird is available in the AUR:

Binary Installation (Any Linux)

For distributions without package manager support:

macOS

The universal installer works on both Intel and Apple Silicon:
This downloads and installs the .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):
Intel:

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

  1. Download the installer from app.netbird.io/install
  2. Run the .exe file
  3. Follow the installation wizard
  4. NetBird will start automatically after installation

PowerShell (Command Line)

Download and run from PowerShell (as Administrator):

Manual Installation

  1. Download from GitHub Releases
  2. Look for netbird_installer_<version>_windows_amd64.exe
  3. 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

Docker deployments require --network host mode because NetBird needs to create a WireGuard interface on the host network namespace.
Environment Variables:
  • 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:
  1. Search for “NetBird” in the Play Store
  2. Install the app
  3. Open and sign in with your NetBird account
  4. Tap “Connect” to establish the VPN
Or download the APK from GitHub Releases.

iOS

Install from Apple App Store:
  1. Search for “NetBird” in the App Store
  2. Install the app
  3. Open and sign in with your NetBird account
  4. Grant VPN permissions when prompted
  5. 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