# Netbird server {#module-services-netbird-server} NetBird is a VPN built on top of WireGuard® making it easy to create secure private networks for your organization or home. ## Quickstart {#module-services-netbird-server-quickstart} 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). There are quite a few settings that need to be passed to Netbird for it to function, and a minimal config looks like : ```nix services.netbird.server = { enable = true; domain = "netbird.example.selfhosted"; enableNginx = true; coturn = { enable = true; passwordFile = "/path/to/a/secret/password"; }; management = { oidcConfigEndpoint = "https://sso.example.selfhosted/oauth2/openid/netbird/.well-known/openid-configuration"; settings = { TURNConfig = { Turns = [ { Proto = "udp"; URI = "turn:netbird.example.selfhosted:3478"; Username = "netbird"; Password._secret = "/path/to/a/secret/password"; } ]; }; }; }; }; ```