depot/third_party/nixpkgs/nixos/modules/services/networking/netbird.md
Default email 60f07311b9 Project import generated by Copybara.
GitOrigin-RevId: f8e2ebd66d097614d51a56a755450d4ae1632df1
2024-02-06 17:22:34 -08:00

1.5 KiB

Netbird

Quickstart

The absolute minimal configuration for the netbird daemon looks like this:

services.netbird.enable = true;

This will set up a netbird service listening on the port 51820 associated to the wt0 interface.

It is strictly equivalent to setting:

services.netbird.tunnels.wt0.stateDir = "netbird";

The enable option is mainly kept for backward compatibility, as defining netbird tunnels through the tunnels option is more expressive.

Multiple connections setup

Using the services.netbird.tunnels option, it is also possible to define more than one netbird service running at the same time.

The following configuration will start a netbird daemon using the interface wt1 and the port 51830. Its configuration file will then be located at /var/lib/netbird-wt1/config.json.

services.netbird.tunnels = {
  wt1 = {
    port = 51830;
  };
};

To interact with it, you will need to specify the correct daemon address:

netbird --daemon-addr unix:///var/run/netbird-wt1/sock ...

The address will by default be unix:///var/run/netbird-<name>.

It is also possible to overwrite default options passed to the service, for example:

services.netbird.tunnels.wt1.environment = {
  NB_DAEMON_ADDR = "unix:///var/run/toto.sock"
};

This will set the socket to interact with the netbird service to /var/run/toto.sock.