1# Netbird server {#module-services-netbird-server}
2
3NetBird is a VPN built on top of WireGuard® making it easy to create secure private networks for your organization or home.
4
5## Quickstart {#module-services-netbird-server-quickstart}
6
7To 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).
8
9There are quite a few settings that need to be passed to Netbird for it to function, and a minimal config looks like :
10
11```nix
12{
13 services.netbird.server = {
14 enable = true;
15
16 domain = "netbird.example.selfhosted";
17
18 enableNginx = true;
19
20 coturn = {
21 enable = true;
22
23 passwordFile = "/path/to/a/secret/password";
24 };
25
26 management = {
27 oidcConfigEndpoint = "https://sso.example.selfhosted/oauth2/openid/netbird/.well-known/openid-configuration";
28
29 settings = {
30 TURNConfig = {
31 Turns = [
32 {
33 Proto = "udp";
34 URI = "turn:netbird.example.selfhosted:3478";
35 Username = "netbird";
36 Password._secret = "/path/to/a/secret/password";
37 }
38 ];
39 };
40 };
41 };
42 };
43}
44```