Netbird
services.netbird.enable
Whether to enable Netbird daemon.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird.nix
services.netbird.package
The netbird package to use.
Type: package
Default
pkgs.netbird
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird.nix
services.netbird.server.coturn.domain
The domain under which the coturn server runs.
Type: string
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.coturn.enable
Whether to enable a Coturn server for Netbird, will also open the firewall on the configured range.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.coturn.openPorts
The list of ports used by coturn for listening to open in the firewall.
Type: list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default
with config.services.coturn; [listening-portalt-listening-porttls-listening-portalt-tls-listening-port];
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.coturn.password
The password of the user used by netbird to connect to the coturn server. Be advised this will be world readable in the nix store.
Type: null or string
Default
null
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.coturn.passwordFile
The path to a file containing the password of the user used by netbird to connect to the coturn server.
Type: null or path
Default
null
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.coturn.useAcmeCertificates
Whether to use ACME certificates corresponding to the given domain for the server.
Type: boolean
Default
false
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.coturn.user
The username used by netbird to connect to the coturn server.
Type: string
Default
"netbird"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/coturn.nix
services.netbird.server.dashboard.domain
The domain under which the dashboard runs.
Type: string
Default
"localhost"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.dashboard.enable
Whether to enable the static netbird dashboard frontend.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.dashboard.enableNginx
Whether to enable Nginx reverse-proxy to serve the dashboard.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.dashboard.finalDrv
The derivation containing the final templated dashboard.
Type: package
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.dashboard.managementServer
The address of the management server, used for the API endpoints.
Type: string
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.dashboard.package
The netbird-dashboard package to use.
Type: package
Default
pkgs.netbird-dashboard
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.dashboard.settings
An attribute set that will be used to substitute variables when building the dashboard. Any values set here will be templated into the frontend and be public for anyone that can reach your website. The exact values sadly aren't documented anywhere. A starting point when searching for valid values is this script The only mandatory value is 'AUTH_AUTHORITY' as we cannot set a default value here.
Type: attribute set of (string or boolean)
Default
'' { AUTH_AUDIENCE = "netbird"; AUTH_CLIENT_ID = "netbird"; AUTH_SUPPORTED_SCOPES = "openid profile email"; NETBIRD_TOKEN_SOURCE = "idToken"; USE_AUTH0 = false; }''
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/dashboard.nix
services.netbird.server.domain
The domain under which the netbird server runs.
Type: string
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/server.nix
services.netbird.server.enable
Whether to enable Netbird Server stack, comprising the dashboard, management API and signal service.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/server.nix
services.netbird.server.enableNginx
Whether to enable Nginx reverse-proxy for the netbird server services.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/server.nix
services.netbird.server.management.disableAnonymousMetrics
Disables push of anonymous usage metrics to NetBird.
Type: boolean
Default
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.disableSingleAccountMode
If set to true, disables single account mode.
The singleAccountModeDomain
property will be ignored and every new user will have a separate NetBird account.
Type: boolean
Default
false
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.dnsDomain
Domain used for peer resolution.
Type: string
Default
"netbird.selfhosted"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.domain
The domain under which the management API runs.
Type: string
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.enable
Whether to enable Netbird Management Service.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.enableNginx
Whether to enable Nginx reverse-proxy for the netbird management service.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.extraOptions
Additional options given to netbird-mgmt as commandline arguments.
Type: list of string
Default
[ ]
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.logLevel
Log level of the netbird services.
Type: one of "ERROR", "WARN", "INFO", "DEBUG"
Default
"INFO"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.oidcConfigEndpoint
The oidc discovery endpoint.
Type: string
Example
"https://example.eu.auth0.com/.well-known/openid-configuration"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.package
The netbird package to use.
Type: package
Default
pkgs.netbird
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.port
Internal port of the management server.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default
8011
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.settings
Configuration of the netbird management server.
Options containing secret data should be set to an attribute set containing the attribute _secret
- a string pointing to a file containing the value the option should be set to.
See the example to get a better picture of this: in the resulting management.json file,
the DataStoreEncryptionKey
key will be set to the contents of the /run/agenix/netbird_mgmt-data_store_encryption_key file.
Type: JSON value
Default
`#!nix defaultSettings = { Stuns = [ { Proto = "udp"; URI = "stun:${cfg.turnDomain}:3478"; Username = ""; Password = null; } ];
TURNConfig = { Turns = [ { Proto = "udp"; URI = "turn:${cfg.turnDomain}:3478"; Username = "netbird"; Password = "netbird"; } ];
CredentialsTTL = "12h";
Secret = "not-secure-secret";
TimeBasedCredentials = false;
};
Signal = { Proto = "https"; URI = "${cfg.domain}:443"; Username = ""; Password = null; };
ReverseProxy = { TrustedHTTPProxies = [ ]; TrustedHTTPProxiesCount = 0; TrustedPeers = [ "0.0.0.0/0" ]; };
Datadir = "${stateDir}/data"; DataStoreEncryptionKey = "genEVP6j/Yp2EeVujm0zgqXrRos29dQkpvX0hHdEUlQ="; StoreConfig = { Engine = "sqlite"; };
HttpConfig = { Address = "127.0.0.1:${builtins.toString cfg.port}"; IdpSignKeyRefreshEnabled = true; OIDCConfigEndpoint = cfg.oidcConfigEndpoint; };
IdpManagerConfig = { ManagerType = "none"; ClientConfig = { Issuer = ""; TokenEndpoint = ""; ClientID = "netbird"; ClientSecret = ""; GrantType = "client_credentials"; };
ExtraConfig = { };
Auth0ClientCredentials = null;
AzureClientCredentials = null;
KeycloakClientCredentials = null;
ZitadelClientCredentials = null;
};
DeviceAuthorizationFlow = { Provider = "none"; ProviderConfig = { Audience = "netbird"; Domain = null; ClientID = "netbird"; TokenEndpoint = null; DeviceAuthEndpoint = ""; Scope = "openid profile email offline_access api"; UseIDToken = false; }; };
PKCEAuthorizationFlow = { ProviderConfig = { Audience = "netbird"; ClientID = "netbird"; ClientSecret = ""; AuthorizationEndpoint = ""; TokenEndpoint = ""; Scope = "openid profile email offline_access api"; RedirectURLs = "http://localhost:53000"; UseIDToken = false; }; }; }; `
Example
{DataStoreEncryptionKey = {_secret = "/run/agenix/netbird_mgmt-data_store_encryption_key";};}
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.singleAccountModeDomain
Enables single account mode. This means that all the users will be under the same account grouped by the specified domain. If the installation has more than one account, the property is ineffective.
Type: string
Default
"netbird.selfhosted"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.turnDomain
The domain of the TURN server to use.
Type: string
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.management.turnPort
The port of the TURN server to use.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default
3478
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/management.nix
services.netbird.server.signal.domain
The domain name for the signal service.
Type: string
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/signal.nix
services.netbird.server.signal.enable
Whether to enable Netbird's Signal Service.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/signal.nix
services.netbird.server.signal.enableNginx
Whether to enable Nginx reverse-proxy for the netbird signal service.
Type: boolean
Default
false
Example
true
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/signal.nix
services.netbird.server.signal.logLevel
Log level of the netbird signal service.
Type: one of "ERROR", "WARN", "INFO", "DEBUG"
Default
"INFO"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/signal.nix
services.netbird.server.signal.package
The netbird package to use.
Type: package
Default
pkgs.netbird
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/signal.nix
services.netbird.server.signal.port
Internal port of the signal server.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default
8012
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird/signal.nix
services.netbird.tunnels
Attribute set of Netbird tunnels, each one will spawn a daemon listening on ...
Type: attribute set of (submodule)
Default
{ }
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird.nix
services.netbird.tunnels.<name>.environment
Environment for the netbird service, used to pass configuration options.
Type: attribute set of string
Default
{NB_CONFIG = "/var/lib/${stateDir}/config.json";NB_LOG_FILE = "console";NB_WIREGUARD_PORT = builtins.toString port;NB_INTERFACE_NAME = name;NB_DAMEON_ADDR = "/var/run/${stateDir}"}
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird.nix
services.netbird.tunnels.<name>.port
Port for the ‹name› netbird interface.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default
51820
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird.nix
services.netbird.tunnels.<name>.stateDir
Directory storing the netbird configuration.
Type: string
Default
"netbird-‹name›"
Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/networking/netbird.nix