Clients
Devices run the standard open-source WireGuard mesh client pointed at your management URL. Branded TZX Mesh apps are in development; until then these are the real instructions.
| Platform | Install | Connect |
|---|---|---|
| Linux (Debian, Ubuntu, Fedora, Arch…) | curl -fsSL https://pkgs.netbird.io/install.sh | sh | sudo netbird up --management-url https://mesh.example.com |
| macOS | installer package from the console's Install page, or brew install netbirdio/tap/netbird | menu-bar app → Settings → Self-hosted → your URL; or the same netbird up command |
| Windows | installer from the console's Install page | tray app → Settings → Self-hosted → your URL |
| iOS | App Store client | first launch → Self-hosted → your URL |
| Android | Play Store client | first launch → Self-hosted → your URL |
| Docker | netbirdio/netbird image | see Setup keys for the run command |
The console's Install page fills in your server address for every platform.
Useful commands
netbird status # management, signal, relay, peers, connection types
netbird status -d # per-peer detail: direct or relayed, last handshake
netbird routes list # subnets and exit nodes offered to this device
netbird down / netbird up # reconnect after changing the management URL
Headless machines
Servers and containers use a setup key. Give them a fixed hostname; it becomes the peer name.
Sign-in and expiry
Devices enrolled by a user re-authenticate when the session expires (24 hours by default, adjustable in Settings → Authentication). Devices enrolled with a setup key do not expire unless you switch that on for them.