nixpkgs/nixos/modules/services/networking/netbird.md
Janne Heß fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01: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.