
Fixes all code blocks with "nix" language in markdown files for syntax errors to be able to run nixfmt in the next step.
45 lines
1.3 KiB
Markdown
45 lines
1.3 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";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
```
|