Luke Granger-Brown
57725ef3ec
git-subtree-dir: third_party/nixpkgs git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# 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";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
```
|