netbird mgmt might reject unknown top-level JSON keys depending on parser flags. The rendering note stays in turnserver.conf (# comments are valid INI syntax). After this, the rendered management.json will be byte-identical to what's currently live on the VPS, so the dry-run will show /opt/management.json as unchanged.
75 lines
2.9 KiB
Cheetah
75 lines
2.9 KiB
Cheetah
{
|
|
"Stuns": [
|
|
{"Proto": "udp", "URI": "stun:stun.l.google.com:19302", "Username": "", "Password": null},
|
|
{"Proto": "udp", "URI": "stun:stun1.l.google.com:19302", "Username": "", "Password": null},
|
|
{"Proto": "udp", "URI": "stun:stun.cloudflare.com:3478", "Username": "", "Password": null}
|
|
],
|
|
"TURNConfig": {
|
|
"Turns": [
|
|
{"Proto": "tcp", "URI": "turn:netbird.hubris.network:3478?transport=tcp", "Username": "netbird", "Password": "{{TURN_PASSWORD}}"}
|
|
],
|
|
"CredentialsTTL": "12h",
|
|
"Secret": "not-used-when-time-based-false",
|
|
"TimeBasedCredentials": false
|
|
},
|
|
"Relay": {
|
|
"Addresses": ["rels://netbird.hubris.network:443"],
|
|
"CredentialsTTL": "24h",
|
|
"Secret": "f6vaBSTqv53Jl9Fr+zUkzJ6iIsKv0RoYt++hKRqq58Q"
|
|
},
|
|
"Signal": {
|
|
"Proto": "https",
|
|
"URI": "netbird.hubris.network:443",
|
|
"Username": "",
|
|
"Password": null
|
|
},
|
|
"ReverseProxy": {
|
|
"TrustedHTTPProxies": ["172.30.0.0/24"],
|
|
"TrustedHTTPProxiesCount": 0,
|
|
"TrustedPeers": ["0.0.0.0/0"]
|
|
},
|
|
"Datadir": "",
|
|
"DataStoreEncryptionKey": "U60qK19PEpe6LSocYs1OR+qeoE2rUq6tN+W20NAC+gs=",
|
|
"StoreConfig": {"Engine": "sqlite"},
|
|
"DisableDefaultPolicy": false,
|
|
"HttpConfig": {
|
|
"Address": "0.0.0.0:80",
|
|
"AuthIssuer": "https://auth.hubris.network/application/o/netbird/",
|
|
"AuthAudience": "netbird-dashboard",
|
|
"AuthUserIDClaim": "sub",
|
|
"AuthKeysLocation": "https://auth.hubris.network/application/o/netbird/jwks/",
|
|
"OIDCConfigEndpoint": "https://auth.hubris.network/application/o/netbird/.well-known/openid-configuration",
|
|
"IdpSignKeyRefreshEnabled": true,
|
|
"CertFile": "",
|
|
"CertKey": ""
|
|
},
|
|
"IdpManagerConfig": {
|
|
"ManagerType": "none"
|
|
},
|
|
"DeviceAuthorizationFlow": {
|
|
"Provider": "hosted",
|
|
"ProviderConfig": {
|
|
"ClientID": "netbird-dashboard",
|
|
"Audience": "netbird-dashboard",
|
|
"Domain": "auth.hubris.network",
|
|
"TokenEndpoint": "https://auth.hubris.network/application/o/token/",
|
|
"DeviceAuthEndpoint": "https://auth.hubris.network/application/o/device/",
|
|
"Scope": "openid profile email offline_access",
|
|
"UseIDToken": false
|
|
}
|
|
},
|
|
"PKCEAuthorizationFlow": {
|
|
"ProviderConfig": {
|
|
"ClientID": "netbird-dashboard",
|
|
"ClientSecret": "{{AUTHENTIK_CLIENT_SECRET}}",
|
|
"Audience": "netbird-dashboard",
|
|
"Domain": "auth.hubris.network",
|
|
"TokenEndpoint": "https://auth.hubris.network/application/o/token/",
|
|
"AuthorizationEndpoint": "https://auth.hubris.network/application/o/authorize/",
|
|
"Scope": "openid profile email offline_access",
|
|
"UseIDToken": false,
|
|
"RedirectURLs": ["http://localhost:53000/"]
|
|
}
|
|
}
|
|
}
|