Commit Graph
153 Commits
Author SHA1 Message Date
Brandon Hopkins 9859e7d468 Improve self-hosted Traefik docs and CrowdSec observe-mode notes (#710)
* Crowdsec Updates

* Improve Traefik docs
2026-04-28 20:14:55 -07:00
Jack Carter 3062285c99 docs: add ADFS self-hosted identity provider guide (#705)
* docs: add ADFS with Web Application Proxy self-hosted guide

New guide for integrating on-prem Active Directory with ADFS as an OIDC
identity provider for self-hosted NetBird. Covers ADFS on a dedicated
member server, Web Application Proxy in a DMZ, Duo ADFS MFA Adapter,
claim transform rules, and the required NetBird configuration
(NETBIRD_TOKEN_SOURCE=idToken, NETBIRD_AUTH_USER_ID_CLAIM=upn).

* docs: rewrite ADFS guide for Community Edition Dashboard flow

Switch from standalone/setup.env style to the CE-native Dashboard-based
external IdP flow:

- Use a confidential Server Application (Add-AdfsServerApplication with
  generated client secret) instead of a Native Application with PKCE.
- Redirect URI now comes from NetBird's Settings > Identity Providers
  flow, not hard-coded /peers paths.
- Drop the NETBIRD_TOKEN_SOURCE and NETBIRD_AUTH_USER_ID_CLAIM env vars
  (those are standalone/commercial-license settings).
- Fix the base64 sub claim issue upstream in ADFS via a new claim rule
  (Rule 5) that emits sub from UPN, with a fallback note about
  PairwiseIdentifierEnabled for ADFS builds that need it.
- Update Troubleshooting and Configuration Summary to match.

* docs: expand ADFS Step 1 and Step 5 with deeper setup prose

Pull in the richer explanations from the updated source guide:

- Step 1 gets server-provisioning prerequisites, Get-WindowsFeature
  verification after role install, expanded TLS cert rationale with
  Test-Certificate, a three-option service-account discussion with the
  Get-KdsRootKey check and lab-mode EffectiveTime trick, a full
  troubleshooting block for Install-ADServiceAccount, per-parameter
  explanations for Install-AdfsFarm, and a Start-Service + event-log
  fallback plus detailed OIDC-endpoint troubleshooting in 1.5.
- Step 5 gets a full Provision the WAP Server section covering server
  specs, the domain-join decision (with SCADA framing generalized),
  pre-install firewall rules, hosts-file name resolution with Test-
  NetConnection, and exact Export-PfxCertificate/Import-PfxCertificate
  flow for the WAP cert. Step 5.3 is reframed as Establish the Proxy
  Trust with what-it-does and what-you-need callouts; 5.4 expands
  Get-WebApplicationProxyHealth troubleshooting.

CE-specific rewrites (Server Application flow, Dashboard IdP config,
Rule 5 sub override, Duo-optional framing) are preserved.

* docs: fix ADFS intra-page anchor links

@sindresorhus/slugify (the project's heading slug generator) splits
CamelCase words (NetBird -> net-bird) and inserts hyphens between
period-separated digits (2.3 -> 2-3). Update every in-page anchor to
match the generated slugs so step links resolve correctly.

Also redirect the UPN row in the AD attributes table to Step 3, since
the 'Required NetBird Configuration Settings' subsection it used to
reference was removed in the CE rewrite.

* docs: note that ADFS group-membership claim rules are optional

Rules 3a and 3b in Step 3 produce the 'groups' claim consumed by
JWT Group Sync. Add a Note explaining they can be skipped if group
sync isn't needed, and clarify that 3a and 3b must be kept together
(3a emits into a temp claim, 3b filters and renames it to 'groups').

* docs: expand ADFS Step 3 intro with context and per-rule overview

The prior one-sentence intro ('NetBird requires specific claims in the
OIDC tokens') didn't explain what issuance transform rules are or what
each of the six rules does. Add a paragraph on why ADFS needs them and
a short bullet list describing each rule's purpose and dependencies
(e.g., Rule 5 depends on Rule 4). The optional-rules Note and code
block follow unchanged.

* docs: fix ADFS guide inaccuracies flagged in review

- Replace Get-EventLog with Get-WinEvent in Step 1.5 — Get-EventLog
  only reads classic logs and cannot open 'AD FS/Admin', which lives
  under Applications and Services Logs.
- Remove references to Set-AdfsServerApplication -PairwiseIdentifierEnabled
  $false; that parameter does not exist on the cmdlet. Replace the
  fallback guidance with NETBIRD_AUTH_USER_ID_CLAIM="upn" in setup.env,
  which was the actual POC fix alongside the Rule 5 claim override.
- Restructure the 404 troubleshooting entry as a two-step fix
  (claim rule + NetBird env var) with a decode-token sanity check.
- Drop the 'Domain Users' example from the JWT group sync paragraph
  since Rule 3b's default '^NetBird-' filter would exclude it;
  clarify that visible groups are governed by the filter regex.
- Relabel the LDAP/LDAPS firewall row as 'directory and attribute
  lookups (claim data)' rather than 'authentication'; ADFS
  authenticates users via Kerberos and uses LDAP for attribute lookup.
- Add a clarifying Note to Step 2.5 explaining that the guide reuses
  the client_id as the Web API identifier for simplicity, and larger
  environments may prefer a distinct resource URI.

* docs: rewrite ADFS guide to focus on NetBird-specific configuration

* docs: nest ADFS/DC and WAP/NetBird in topology as separate boxes

* docs: refer to NetBird's Microsoft AD FS connector instead of Generic OIDC

* docs: rework ADFS topology diagram and convert callouts to Note components

* docs: rename Restricted/OT to Restricted Network in ADFS guide

* docs: drop Generic OIDC link from ADFS related resources

* docs: drop single-group limitation from ADFS guide
2026-04-28 15:29:46 +02:00
Basel Sayeh 122c58b6e1 Update configuration-files.mdx (#640)
Specify that encryptionKey is a base64 string of a key
2026-04-23 10:03:49 +02:00
Brandon Hopkins 5c13dd3a49 Update Crowdsec doc with context and images (#709) 2026-04-21 09:00:57 -07:00
Ucheagwu OnyikeandAshley Mensah 2eb656db6b docs: rename accessTokenAcceptedVersion to requestedAccessTokenVersion (#370)
The Azure AD Graph app manifest format was deprecated in January 2025.
The attribute accessTokenAcceptedVersion has been renamed to
requestedAccessTokenVersion in the Microsoft Graph manifest format.

Co-authored-by: Ashley Mensah <ashleyamo982@gmail.com>
2026-04-21 15:58:16 +02:00
blotus 3d30f33a29 Update healthcheck command from capi to lapi (#707) 2026-04-20 18:47:38 +02:00
Viktor Liu b2602add87 Add CrowdSec IP reputation documentation (#698) 2026-04-16 18:06:43 +02:00
Misha Bragin 8738a38fa0 Add references to config.yaml.example (#684) 2026-04-07 12:16:43 +02:00
Anon b84fd75114 Update local.mdx (#679)
/api/instance/setup is incorrect, it should be /api/setup
2026-04-02 21:20:40 -07:00
Nicolas Frati a210d44736 Migration guide from external idp to embedded idp (#658)
* added migration guide from external to embedded idp

* updated guide

* clarify issuer domain used

* improved docs structure and added clarifying notes

* updated guide to match latest binary

* link fixes and added extra psql instructions

* update versions properly
2026-04-02 11:11:20 +02:00
Bethuel Mmbaga 8c7226c050 Add legacy Google Workspace IdP migration notice (#676) 2026-04-01 16:27:49 +03:00
f169522dde Document L4 service modes, header authentication, and access restrictions (#666)
---------

Co-authored-by: Brandon Hopkins <brandon@techhut.tv>
Co-authored-by: Ashley Mensah <ashleyamo982@gmail.com>
2026-04-01 11:22:04 +02:00
shuuri-labs 8680e5e822 Document TLS-ALPN-01 challenge requirements for reverse proxy (#656) 2026-03-16 15:26:52 +01:00
Nino Fischer 469864790b Update external-reverse-proxy.mdx (#649)
Repaired anchor for "Combined container"-Link
2026-03-13 00:47:57 -07:00
shuuri-labs 22556fc8d0 clarify port requirements for reverse proxy when using with old multi-container setup (#652) 2026-03-12 19:51:08 +01:00
shuuri-labs d2c7216406 amend NB_PROXY_MANAGEMENT_ADDRESS port - instruction case should user docker internal port as opposed to external (#650) 2026-03-12 17:58:28 +01:00
Maycon Santosandshuuri-labs c413b2d00c Update reverse proxy documentation for domain and DNS record changes (#648)
* Update reverse proxy documentation for domain and DNS record changes

* Clarify reverse proxy domain description in migration guide

* Update domain requirement clarification in migration guide

Clarified the domain requirement for the proxy + added missing charactr afer example domain

---------

Co-authored-by: shuuri-labs <61762328+shuuri-labs@users.noreply.github.com>
2026-03-11 19:27:45 +01:00
Misha Bragin 58625d69f6 Add auth store migration (#637) 2026-02-27 08:37:28 +02:00
Onoitsu2 8b7b458569 Update selfhosted-quickstart.mdx (#632)
Fixes incorrect instructions, for the proxy domain.
2026-02-24 07:34:59 -08:00
shuuri-labs e80b6b522a add disable local auth instructions for combined container setup (#631) 2026-02-20 15:15:04 +01:00
shuuri-labs 9c74c1b26e Update (external) reverse proxy docs (#624)
- update (external) reverse proxy docs, added 'external' terminology to avoid confusion with the new internal reverse proxy feature
- add templates for combined container setups
- clearer clarifications (3478 needs to be publicy accessible etc)
2026-02-19 19:08:08 +01:00
shuuri-labs d49f899db1 Reverse Proxy - Multiple Instances (#620) 2026-02-19 13:14:43 +01:00
Misha Bragin 5c059fa7b8 Refer to the new config.yaml file (#628) 2026-02-19 12:03:32 +01:00
shuuri-labs 243c1af0c1 Combined setup migration docs (#619) 2026-02-18 21:00:37 +01:00
Misha Bragin 4dacaaecfb Clarify geolocation issues (#625) 2026-02-18 17:18:44 +01:00
4110ffe05e Fix reverse proxy docs: add ProxyService gRPC route, fix container co… (#623)
* Fix reverse proxy docs: add ProxyService gRPC route, fix container commands, support both setups

- add missing /management.ProxyService/ gRPC route to all reverse proxy config templates (traefik, nginx, caddy, NPM) in reverse-proxy.mdx
- change default proxy -> management connection to use direct docker network instead of routing through traefik, avoiding hairpin NAT and missing gRPC route issues
- add "Connecting through Traefik" section for separatevhost deployments
- fix token CLI commands: use /go/bin/ prefix (not on container PATH), add --config flag for combined container
- ratify instructions for enabling reverse proxy both combined (netbird-server) and multi-container (management) setups

* remove unecessary proxy endpoints from reverse proxy templates other than traefik in reverse-proxy.mdx

* - standardize usage of 'docker exec' as opposed to 'docker compose exec + service name' in instructions
- added AuthClientID config instructions
- added traefik grpc rule to configuration file explanation page
- idletimeout for reverse proxy migration is now 0, matching getting-started.sh

* add clarification on grpc ProxyService path for traffic - only required if the proxy service is on a different docker network to traefik

* fix: correct step count in Traefik connection section from two to three

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Jack Carter <128555021+SunsetDrifter@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:36:04 +01:00
5a899c55c4 fix: use H1 for page title in backup, remove and upgrade docs (#621)
* Change header from H2 to H1 in backup.mdx

With H2 header, the browser tab name was "undefined" instead of the proper name

* Change H2 header to H1 in remove.mdx

With H2 header, the browser tab name was "undefined" instead of the proper name

* Change H2 header to H1 in upgrade.mdx

With H2 header, the browser tab name was "undefined" instead of the proper name

* Promote h3 sub-headings to h2 in upgrade.mdx to fix TOC error

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Jack Carter <128555021+SunsetDrifter@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:31:46 +01:00
shuuri-labs bca8559980 Reverse proxy amendments 2 (#616)
* Reverse Proxy Doc Amendments

- update custom domains page to more closely reflect wording in the UI, added screenshots
- add warning to index page that reverse proxy feature does not currently work with pre-shared keys/rosenpass

* Update navigation order (move reverse proxy below network routes)

* update migration guide to mention the need for TWO cname records (proxy and proxy wildcard)
2026-02-17 14:37:37 +01:00
Brandon Hopkins f007175574 Clearing Issues and General Fixes (#592)
* Upgrade link fix

* Fix on-page nav highlighting
2026-02-17 12:50:06 +01:00
Brandon Hopkins 417b08cf1a Quick Fix to getting-started (#606) 2026-02-15 23:59:02 -08:00
Brandon Hopkins 62b39cf8a1 NetBird Proxy Service Edits (#603)
* NetBird Proxy Service Edits

* Self-hosted setup clarification
2026-02-15 12:26:55 +01:00
Misha Bragin e3603aa4ee Fix reverse proxy wording (#599) 2026-02-14 16:33:11 +01:00
shuuri-labs 98120d51f6 Align proxy docs with getting-started.sh: fix image name, Traefik labels, add proxy domain warning and quickstart flow (#597) 2026-02-13 19:53:45 +01:00
shuuri-labs 432602e35e Add Reverse Proxy documentation and update self-hosted quickstart (#594)
- Add Reverse Proxy docs: overview, custom domains, authentication, access logs
- Add Reverse Proxy section to sidebar navigation
- Update self-hosted quickstart for new getting-started.sh (Traefik default, combined server)
2026-02-13 19:07:01 +01:00
f69c55b9c2 Streamlined site-to-site docs in new dedicated section. Removed old u… (#585)
* Streamlined site-to-site docs in new dedicated section. Removed old use-case guide and added redirects

* restructure use-cases, move network use cases to network sections

* Reorganize network routes and networks documentation structure

- Restructure use cases into by-scenario and by-configuration folders
- Reorganize images to match new doc structure (concepts, by-scenario, by-resource-type)
- Add screenshots for site-to-site guides (home, office, cloud)
- Add policy screenshots for networks use cases
- Update site-to-site docs to use two separate policies instead of bidirectional
- Fix Access Control Groups to use correct destination groups
- Move "Self-Hosted vs Cloud" page to about section
- Update navigation and add redirects for moved pages
- Add CLAUDE.md for Claude Code guidance

* cleaned up network docs/image folder structure

* Align site-to-site use case links and redirects

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update CLAUDE.md with accurate project details

Fix Next.js version (14 → 16), add React 19/Tailwind/Pages Router
details, document MDX page conventions, image paths, and note
absence of test suite.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix broken images and hydration error on networks page

- Restore 6 network index images accidentally deleted in 4116092
- Fix keycloak image filename typo (keycloack -> keycloak)
- Fix hydration mismatch by replacing invalid <p><div> nesting with <div>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix 4 broken internal links found in PR review

- Fix missing by-scenario/ segment in site-to-site-home and
  site-to-site-office Tile hrefs (network-routes use-cases index)
- Fix lazy-connections typo to lazy-connection (implement-zero-trust)
- Update stale redirect link to direct path for access-control

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Jack Carter <128555021+SunsetDrifter@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 15:35:44 +01:00
Misha Bragin 858d7e7c9d Disable local authentication (#583) 2026-01-31 20:00:00 +01:00
Misha Bragin 562252d1fc Add user invite docs (#576) 2026-01-27 15:16:50 +01:00
Misha Bragin 75164d3aef Add a Maintenance Section (#580)
* Add a Maintenance section

* Move the self-host section higher

* Add references to backup and upgrade
2026-01-27 12:29:05 +01:00
Misha Bragin 2ccf05149a Reference DUO (#575) 2026-01-24 18:24:15 +01:00
shuuri-labs 4b5f9b58dc Config file breakdown (#565) 2026-01-22 16:38:32 +01:00
Misha Bragin 38eb2925c8 Fix STUN migration links (#567) 2026-01-22 10:49:44 +01:00
Misha Bragin 14827a38d5 Add Coturn to Embedded STUN migration (#566) 2026-01-21 14:51:57 +01:00
shuuri-labs c7e6c9850c update idp local user docs with instructions on how to remove default… (#562) 2026-01-20 16:52:24 +01:00
Misha Bragin 32611fae25 Add password change doc (#563) 2026-01-20 16:50:16 +01:00
shuuri-labs 8b04229096 Add environment variables documentation for self-hosted deployments (#553)
Adds a comprehensive reference page for all environment variables used
when self-hosting NetBird, covering Management Server, Signal Server,
Relay Server, Dashboard, and Coturn services. Focuses on the new
embedded identity provider approach, removing deprecated external IDP
configuration variables.
2026-01-19 09:20:52 -08:00
Brandon Hopkins c6f347fea2 Duo IdP (#558) 2026-01-19 17:16:22 +01:00
shuuri-labs 6e9932b679 Add clarification to jwt group sync docs that groups with same name in netbird will not be synced (#561) 2026-01-19 16:55:09 +01:00
shuuri-labsandBrandon Hopkins 6079b88f71 Add Reverse Proxy Templates + Wizard Instructions to Docs (#551)
* Add Reverse Proxy Templates + Wizard Instructions to Docs

- Updated quickstart guide to include instructions on new reverse proxy wizard in setup script
- Add new reverse proxy page including quickstart script instructions and templates
- Updated advanced guide to refer to new reverse proxy page

* Update lazy-connection documentation to clarify inactivity threshold configuration. from #452

* Added <Note>

* Update lazy connection documentation to reflect new minimum supported agent version and server requirements. From PR#338

* traefik ssl amendments + nginx fixes

* - add youtube video to self hosted quickstart guide page
- clarify quickstart script reverse proxy wizard behaviour in advanced guide

* added in-depth TLS instructions for nginx

* add individual proxy hyperlinks to self hosted advanced guide

---------

Co-authored-by: Brandon Hopkins <brandon@techhut.tv>
2026-01-16 09:22:09 -08:00
yujinqiuandyujinqiu 9794dd8398 Fix selfhosted docs (#549)
Co-authored-by: yujinqiu <yujinqiu@qfei.cn>
2026-01-14 08:36:27 +01:00
shuuri-labs c31143ab83 Added JWT group sync instructions for each IdP (#545)
* Added JWT group sync instructions for each IdP
2026-01-13 19:52:57 +01:00