Run NetBird, the open-source WireGuard mesh VPN, as a native Unraid OS plugin. The Unraid host itself becomes a peer on your NetBird network. No Docker container, no extra hop.
In Plugins → Install Plugin, paste:
https://raw.githubusercontent.com/netbirdio/netbird-unraid/main/plugin/netbird.plg
Then open Settings → Netbird, enter a setup key, and select Enable NetBird: Yes. Fresh installations remain disabled until that first successful configuration.
- The official upstream
netbirdLinux binary at/usr/local/sbin/netbird - An rc.d service (
/etc/rc.d/rc.netbird) that survives reboots once enabled - Dynamix WebGUI pages: Settings, Status, Info + a Dashboard tile
- Persistent identity and config on the USB flash drive, so reboots don't forget who this peer is
- Multiple profiles (for example a self-hosted tenant and NetBird Cloud) that you can switch between from the Settings page
NetBird's upstream packaging assumes systemd. Unraid runs Slackware with plain init, so this plugin:
-
Downloads the upstream tarball from
github.com/netbirdio/netbird/releases, pinned by SHA256. -
Drops the binary at
/usr/local/sbin/netbird. -
Once enabled, runs
netbird service runfrom/etc/rc.d/rc.netbird(foreground daemon, logging to/var/log/netbird.log). -
Symlinks NetBird's two state paths onto the flash drive so the identity survives Unraid's ephemeral rootfs:
NetBird default Symlinked to /etc/netbird/boot/config/plugins/netbird/etc/var/lib/netbird/boot/config/plugins/netbird/lib -
Adds an array-start event hook so an enabled daemon comes up whenever the array starts. Disabled installations remain stopped.
A few NetBird behaviors are worth knowing when editing a profile:
- Changing a profile's management URL or hostname re-registers the peer. It gets a new identity and IP, and the old peer lingers in your NetBird dashboard until you delete it there.
- A pre-shared key can be set or changed but not cleared from the UI. Removing it requires erasing the profile and setting it up again.
./scripts/build.shProduces:
dist/unraid-netbird-utils-<version>-noarch-1.txzdist/netbird.plgwith the version and package SHA256 substituted in
Upload the .txz to a GitHub release tagged with the same version, then
commit the updated plugin/netbird.plg to main so users get the new
version through normal plugin updates.
GPL-3.0. See LICENSE.
The official Unraid Tailscale plugin by Derek Kaser, was used as a base for this plugin, same general daemon+CLI+Dynamix shape. Plugin docs from the mstrhakr/plugin-docs project.