vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / networking / netbird / server.md
blob3649e97b379e5da01f645ded613f3a136958d5ca
1 # Netbird server {#module-services-netbird-server}
3 NetBird is a VPN built on top of WireGuard® making it easy to create secure private networks for your organization or home.
5 ## Quickstart {#module-services-netbird-server-quickstart}
7 To fully setup Netbird as a self-hosted server, we need both a Coturn server and an identity provider, the list of supported SSOs and their setup are available [on Netbird's documentation](https://docs.netbird.io/selfhosted/selfhosted-guide#step-3-configure-identity-provider-idp).
9 There are quite a few settings that need to be passed to Netbird for it to function, and a minimal config looks like :
11 ```nix
12 services.netbird.server = {
13   enable = true;
15   domain = "netbird.example.selfhosted";
17   enableNginx = true;
19   coturn = {
20     enable = true;
22     passwordFile = "/path/to/a/secret/password";
23   };
25   management = {
26     oidcConfigEndpoint = "https://sso.example.selfhosted/oauth2/openid/netbird/.well-known/openid-configuration";
28     settings = {
29       TURNConfig = {
30         Turns = [
31           {
32             Proto = "udp";
33             URI = "turn:netbird.example.selfhosted:3478";
34             Username = "netbird";
35             Password._secret = "/path/to/a/secret/password";
36           }
37         ];
38       };
39     };
40   };
42 ```