- Multi-language support (EN/DE) with i18n engine and language files - Configurable branding (name, subtitle, logo) in Settings - Global default language and per-user language preference - User management router with CRUD endpoints - Customer status sync on start/stop/restart - Health check fixes: derive status from container state, remove broken wget healthcheck - Caddy reverse proxy and dashboard env templates for customer stacks - Updated README with real hardware specs, prerequisites, and new features - Removed .claude settings (JWT tokens) and build artifacts from tracking - Updated .gitignore for .claude/ and Windows artifacts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
57 lines
1.4 KiB
Django/Jinja
57 lines
1.4 KiB
Django/Jinja
{
|
|
"Stuns": [
|
|
{
|
|
"Proto": "udp",
|
|
"URI": "stun:{{ netbird_domain }}:{{ relay_udp_port }}",
|
|
"Username": "",
|
|
"Password": null
|
|
}
|
|
],
|
|
"TURNConfig": {
|
|
"Turns": [
|
|
{
|
|
"Proto": "udp",
|
|
"URI": "turn:{{ netbird_domain }}:{{ relay_udp_port }}",
|
|
"Username": "netbird",
|
|
"Password": "{{ relay_secret }}"
|
|
}
|
|
],
|
|
"CredentialsTTL": "12h",
|
|
"Secret": "{{ relay_secret }}",
|
|
"TimeBasedCredentials": false
|
|
},
|
|
"Relay": {
|
|
"Addresses": [
|
|
"rels://{{ netbird_domain }}:443"
|
|
],
|
|
"CredentialsTTL": "24h",
|
|
"Secret": "{{ relay_secret }}"
|
|
},
|
|
"Signal": {
|
|
"Proto": "{{ netbird_protocol }}",
|
|
"URI": "{{ netbird_domain }}:{{ netbird_port }}",
|
|
"Username": "",
|
|
"Password": null
|
|
},
|
|
"HttpConfig": {
|
|
"AuthIssuer": "{{ external_url }}/oauth2",
|
|
"AuthAudience": "netbird-dashboard",
|
|
"OIDCConfigEndpoint": "{{ external_url }}/oauth2/.well-known/openid-configuration"
|
|
},
|
|
"EmbeddedIdP": {
|
|
"Enabled": true,
|
|
"Issuer": "{{ external_url }}/oauth2",
|
|
"LocalAddress": "http://127.0.0.1:80",
|
|
"DashboardRedirectURIs": [
|
|
"{{ external_url }}/nb-auth",
|
|
"{{ external_url }}/nb-silent-auth"
|
|
],
|
|
"CLIRedirectURIs": [
|
|
"http://localhost:53000/",
|
|
"http://localhost:54000/"
|
|
],
|
|
"SignKeyRefreshEnabled": true
|
|
},
|
|
"DataStoreEncryptionKey": "{{ datastore_encryption_key }}"
|
|
}
|