depot/nixos/modules/services/networking/netbird.md
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00: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.