depot/third_party/nixpkgs/nixos/modules/services/networking/netbird.md
Default email 587713944a Project import generated by Copybara.
GitOrigin-RevId: 6143fc5eeb9c4f00163267708e26191d1e918932
2024-04-21 17:54:59 +02: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.