Commit Graph

49 Commits

Author SHA1 Message Date
Maycon Santos
5ab0207a27 update slack url (#846) 2026-07-10 21:31:28 +02:00
Jack Carter
44cab34f6f perf: ship a standalone slim Docker image (~590MB to ~283MB) (#841)
Enable Next `output: 'standalone'` and rewrite the Dockerfile to package only the traced standalone server + .next/static + public on node:20-slim (glibc, matching the runner), running `node server.js`. No in-image npm ci, no full source or dependency tree. Cuts the image ~52%, so docker push and the server pull get much faster.

Also fixes a latent entrypoint bug (${VAR:"none"} -> ${VAR:-"none"}) that busybox sh tolerated but Debian dash (node:20-slim /bin/sh) rejects, which would otherwise crash the container on boot.

Smoke-tested via isolated build + docker run: boots in 37ms, all routes 200, redirects still bundled (/slack-url -> 307), static + public assets served, DocSearch env-injection intact.
2026-07-09 16:51:17 +02:00
Jack Carter
8824f4af97 docs: reorganize Use Cases navigation (#834)
* docs: consolidate scenario guides under /use-cases with redirects

Move 11 pages: feature-nested use cases from manage/networks,
manage/network-routes, manage/reverse-proxy, and the Kubernetes
integration into /use-cases/remote-access, /use-cases/cloud, and
/use-cases/security; the site-to-site decision page becomes
/use-cases/remote-access; the MikroTik guide becomes an install
guide at /get-started/install/mikrotik.

Add one redirect per moved page and flatten existing redirect
chains so every legacy URL resolves in a single hop. The
deprecated Routes site-to-site recipe stays put.

* docs: rebuild sidebar navigation for use-cases reorg

Remove the four nested Use Cases sublists from Manage NetBird;
keep the deprecated Routes recipe as a direct 'Site-to-Site
(legacy)' link. Rebuild USE CASES with Remote Access, Cloud &
Kubernetes, Security groups and a flat Homelab link. Add MikroTik
to Get Started > Platforms.

* docs: rebuild use-case index pages and refresh feature landing links

Turn /use-cases into an "I want to..." scenario finder. Retitle
the site-to-site decision page to Remote Access and point its
links at the new sibling URLs. Add the Kubernetes service and
private-proxy guides to the cloud and security indexes, refresh
the homelab landing links, and update the Networks, Routes,
Reverse Proxy, and Kubernetes landing pages to the new use-case
URLs.

* docs: update internal links to new use-case URLs

Point cross-links across the docs at the consolidated
/use-cases URLs. Links to the deprecated Routes site-to-site
recipe and all image paths under public/docs-static are left
unchanged.

* docs: shorten sidebar label to Site-to-Site

* docs: move Kubernetes into its own Use Cases section

Pull the entire Kubernetes integration out of Manage > Integrations
into a dedicated Kubernetes group under Use Cases at /use-cases/
kubernetes, and move the two Kubernetes cloud guides there too.
Rename the Cloud group (was 'Cloud & Kubernetes'); Integrations
keeps the MDM deployment pages. Add redirects for every moved page
and flatten existing chains.

* docs: drop 'NetBird on' prefix from cloud sidebar labels

* docs: alphabetize Remote Access use cases in sidebar

* ❯ add mikrotik to install index

* docs: fix duplicated word in remote-access link label on TV install pages

---------

Co-authored-by: Brandon Hopkins <brandon@techhut.tv>
2026-07-08 10:20:12 +02:00
Jack Carter
f83b1b65a4 docs: rename Network Routes to Routes, deprecate, and relocate Browser Client Architecture (#792)
* docs: rename Network Routes to Routes, deprecate, and relocate Browser Client Architecture

- Rename the docs sidebar entry "Network Routes" to "Routes" and the page H1
- Add a deprecation note to the Routes page: all use cases except exit nodes
  have moved to Networks; reconcile the body framing accordingly
- Move Browser Client Architecture under Peers > Browser Client
  (/manage/peers/browser-client/architecture), nest the nav, add a redirect,
  and update cross-links
- Shrink the site-to-site Architecture diagram boxes to fit their content

* docs: rename Routes nav 'Concept' link to 'Overview'
2026-06-15 15:57:55 +02:00
Brandon Hopkins
3d4f037c89 Merged WireGuard page into VPN comparison, added Self-Hosted tile (#788) 2026-06-11 04:08:49 -07:00
Brandon Hopkins
8ab98eff17 Add Cloud Marketplaces section, reorganize self-hosted docs, clean up redirects (#760)
* Add marketplace section with Vultr

* Add Images and Self-Hosted Restructure

* Organize self-hosted pages

* Clean up redirects
2026-05-19 07:55:43 -07:00
Jack Carter
442116bb8f docs: prune redundant Networks and Network Routes use cases (#749)
The Networks and Network Routes "By Scenario" / "By Resource Type" /
"By Configuration" subgroups had grown into reskinned walkthroughs of
flows already on the concept pages. Collapse to what's actually
distinct, flatten the survivors up one level, fold unique nuggets
into the concept pages.

Networks:
- Delete the "By Resource Type" trio (Multiple IP Resources, Domain
  Resources, Wildcard Domains) and Remote Worker Access — all rehashes
  of /manage/networks. Fold the wildcard-vs-base-domain gotcha and the
  shared-policy pattern into the concept page.
- Delete the Use Cases overview; fold the VPN-to-Site framing into the
  concept page.
- Flatten access-home-devices and cloud-to-on-premise up out of
  /by-scenario/.

Network Routes:
- Consolidate site-to-site-{home,office,cloud} into one
  /manage/network-routes/use-cases/site-to-site page covering the
  shared walkthrough plus AWS/GCP/Azure routing-peer requirements.
- Move exit-nodes, access-control, overlapping-routes, and
  advanced-configuration up out of /by-{scenario,configuration}/.
- Trim advanced-configuration (301 → 144 lines), dropping masquerade
  basics, ACL setup, site-to-site flow, and HA repetition duplicated
  elsewhere. Keep the masquerade trade-off matrix, Networks-vs-Routes
  comparison, troubleshooting, and debug commands.
- Delete the Use Cases overview.

Permanent redirects added for every removed URL. Inbound references
updated across introduction, ipv6, homelab, cloud, security,
site-to-site overview, android-tv/tvOS install pages, and the concept
pages.
2026-05-13 14:17:43 +02:00
Jack Carter
2f46f5e4dc docs: add Site-to-VPN scenario guide (#748)
* docs: add Site-to-VPN scenario guide

New dedicated guide for letting clientless devices on a local network
initiate connections to NetBird peers (the reverse of VPN-to-Site).
Covers static-route and DNAT options, DNS resolution via dnsmasq, and
explains why the target peer always observes the routing peer's NetBird
IP as the source.

- Add src/pages/manage/network-routes/use-cases/by-scenario/site-to-vpn.mdx
- Wire it into NavigationDocs.jsx
- Update the site-to-site overview table row to point at the new page
- Replace the stub Site-to-VPN subsection in site-to-site-office.mdx
  with a pointer to the new guide

* docs(site-to-vpn): correct source-IP section, add firewall and interface notes

- Source IP Behavior: remove the option that suggested emptying the
  destination peer's policies. That doesn't preserve source IP; it just
  tears down the wireguard pairing. Replace with an honest "not possible
  with legacy Network Routes."
- Step 3: call out that hosts with FORWARD-DROP firewalls (UFW, firewalld)
  need an explicit ACCEPT rule between the site interface and wt0.
- Option B: prefix the DNAT step with `ip -br addr` so customers find the
  right site-facing interface instead of assuming eth0.
- Step 1: use "Name" for the setup key field instead of the route-only
  "Network Identifier".

* docs(site-to-vpn): tighten prereqs, firewall step, and source-IP wording

- Drop generic prereqs (account, routing peer hardware, target peer)
- Reduce Step 3 to the host-firewall FORWARD rule
- Label Networks-feature Site-to-VPN as 'not possible' rather than limited
- Rename topology arrow to 'NetBird Overlay'
- Clarify masquerade lives on the routing peer in troubleshooting

* docs(site-to-vpn): switch primary path to Networks; document outbound SNAT requirement

Verified in the lab that Networks supports Site-to-VPN with the same
shape as Network Routes (Resource + Routing Peer + peer-group policy).
The differentiating factor is not the feature but the routing peer
platform: NetBird's masquerade flag does not install a working outbound
SNAT on non-Linux peers or in userspace mode, so the user must configure
it explicitly on the routing peer or upstream firewall.

Doc changes:
- Lead with Networks; Network Routes is now framed as an equivalent
  alternative rather than the only option
- New Step 3 dedicated to the outbound SNAT (Linux iptables, pfSense /
  OPNsense, MikroTik examples)
- New section "Outbound SNAT requirement" explaining why the destination
  peer's access control rejects unrewritten site IPs and where the
  dashboard masquerade flag is and isn't sufficient
- Up-front Warning calls out the platform requirement so customers don't
  silently misconfigure
- Troubleshooting entry updated to point at SNAT counters and tcpdump
- Updated Source IP Behavior section to reflect that the behavior is the
  same on both Networks and Network Routes

Parent page changes:
- /use-cases/site-to-site: Scenario Support table now shows Site-to-VPN
  as Yes on both Networks and Network Routes; "Which Scenario Do I Need"
  row points at both implementations

* docs(site-to-vpn): make static route the only Step 6 path; move DNAT to appendix

The static-route approach is the canonical setup; the per-service DNAT
option is a fallback for sites where routing changes aren't possible.
Treat it that way in the doc to keep the main flow linear.

- Step 6 now describes only the static-route approach (former Option A)
- Add a one-line pointer at the end of Step 6 to the appendix for sites
  where the route can't be set
- Move the DNAT instructions to a new appendix at the bottom of the page
- Simplify Test Connectivity to a single curl
- Trim the Option-A/Option-B framing from the Troubleshooting "Connection
  times out" entry

* docs(site-to-vpn): drop Source IP Behavior section

The "Outbound SNAT requirement" section already covers why the source IP
ends up as the routing peer's NetBird IP; a separate Source IP Behavior
section was repeating the same point and adding a speculative paragraph
about future Networks support. Drop both, plus the up-front Warning that
pointed at the removed section.

* docs(site-to-vpn): drop the Networks-vs-Network-Routes note

The guide is written around Networks; the side-note suggesting Network
Routes as an alternative path adds noise without value. The Step 4 inline
note keeps the Network Routes equivalent for anyone who needs it.

* docs(site-to-vpn): drop the inline Network Routes equivalent note

The guide is Networks-only now. Pointing readers at Network Routes mid-flow
just creates two paths to maintain without serving the reader who's
following the steps in front of them.

* docs(site-to-vpn): move page under Networks → Use Cases

The page describes a Networks-based setup; living under Network Routes
mis-categorised it.

- git mv to /manage/networks/use-cases/site-to-vpn.mdx (as a direct
  child of Use Cases, not under By Scenario)
- Navigation: remove entry from Network Routes → By Scenario, add under
  Networks → Use Cases
- Redirect old URL (/manage/network-routes/use-cases/by-scenario/site-to-vpn)
  to new URL, permanent
- Update in-tree links in use-cases/site-to-site/index.mdx and
  network-routes/use-cases/by-scenario/site-to-site-office.mdx

* docs(site-to-site): drop Network Routes mentions for Site-to-VPN

The Site-to-VPN guide is Networks-only; the overview page shouldn't
still be listing Network Routes alongside it.

* docs(site-to-vpn): trust NetBird's automatic SNAT on Linux kernel mode

On Linux in kernel mode, NetBird installs the SNAT itself when masquerade
is enabled on the routing peer — the user does not need a manual iptables
rule. Reframe Step 3 around this:

- Linux: enable ip_forward only; NetBird does the SNAT
- Non-Linux (pfSense / OPNsense / MikroTik / Windows / macOS / userspace):
  configure manual outbound SNAT on the routing peer or upstream firewall
- Tighten the "Outbound SNAT requirement" appendix accordingly
- Move the explicit Linux iptables MASQUERADE rule into a troubleshooting
  fallback for the case where NetBird's automatic SNAT doesn't fire

* docs(site-to-vpn): drop sysctl ip_forward instruction on Linux

NetBird handles IP forwarding itself on Linux; the manual sysctl was
unnecessary noise. Keep the host-firewall FORWARD-ACCEPT note since
UFW/firewalld setups still need it.

* docs(site-to-vpn): route the account's /16, not the entire /10 CGNAT range

NetBird assigns each account one /16 block out of 100.64.0.0/10 (chosen
randomly, customisable). Routing the whole /10 sends unrelated CGNAT
addresses through the routing peer; the correct target is the account's
own /16.

Step 6 now:
- Explains the /16-per-account model with the 64-block context
- Shows how to read the account's /16 from `netbird status` on any peer
- Switches the Linux / Windows / DHCP-option-121 examples to a concrete
  /16 example (100.121.0.0/16) with a note to substitute your own

* docs(site-to-vpn): clarify when the target peer uses a setup key

Setup keys are for service / appliance peers; user peers (laptops,
workstations) enroll through SSO and inherit groups from existing
assignments. Reword the target-peer instruction to reflect that
distinction.

* docs(site-to-vpn): rename target peer to overlay-peer / overlay-peers

The previous backup-collector / backup-collectors naming carried
scenario-specific framing into the step examples. Use the generic
overlay-peer / overlay-peers throughout to keep the guide universal.

* chore: add trailing commas in Kubernetes nav entries

* Revert "chore: add trailing commas in Kubernetes nav entries"

This reverts commit d11b7eb7d0.
2026-05-13 13:19:15 +02:00
Jack Carter
02a4eef0a1 docs: remove stale GSoC 2022 ideas page (#746)
Delete /about-netbird/other (Google Summer of Code 2022 project
ideas) and add a 301 redirect to /introduction. The page was
orphaned — not linked from navigation, contained broken internal
links, and had no modern equivalent.
2026-05-12 16:16:24 +02:00
Maycon Santos
a215b0358a Update slack url (#721) 2026-05-02 19:39:26 +02:00
Maycon Santos
38119d2982 Update next.config.mjs (#695) 2026-04-09 09:43:13 -07:00
Maycon Santos
a275571e46 update slack url (#694) 2026-04-09 09:05:39 -07:00
Jack Carter
bd26193053 docs: Add missing client settings pages to navigation (#688)
Add all 5 system tray settings under Client > Settings: Allow SSH,
Block Inbound Connections, Connect on Startup, Enable Lazy Connections,
and Enable Quantum-Resistance. Allow SSH and Enable Lazy Connections
redirect to existing docs. Connect on Startup is a new page. Renames
Post-Quantum Cryptography heading to Enable Quantum-Resistance to match
the GUI label.
2026-04-08 16:20:06 +02:00
Misha Bragin
6435f4c62a Add redirect to scaling selfhosted (#678) 2026-04-01 19:22:53 +02:00
Maycon Santos
9d443e23a4 update slack url (#645) 2026-03-08 16:44:14 +01:00
Jack Carter
a87e560602 docs: Reorganize DNS documentation (#635)
- Create Internal DNS Servers page consolidating nameserver configuration,
  private DNS routing, and Active Directory guidance
- Trim DNS Overview, DNS Settings removing duplicated and filler content
- Merge Configuring Nameservers page into Internal DNS Servers
- Replace Quickstart and Configuring Nameservers pages with redirects
- Update navigation sidebar and all internal links
2026-02-23 17:05:11 +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
Jack Carter
8936e9163f Add Client Settings documentation section (#612)
* Add Block Inbound Connections documentation to Client settings

Document the previously undocumented "Block Inbound Connections" client
setting (introduced in v0.46.0). Adds a dedicated feature page under
Client > Settings, updates the sidebar navigation, and adds the
--block-inbound flag to the CLI reference.

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

* Move Post-Quantum Cryptography to Client settings and add systray notes

Move the Rosenpass/post-quantum cryptography page from manage/integrations/
to client/ under the new Settings section. Add redirects for the old URL.
Also add systray toggle instructions to both the Quantum-Resistance and
Lazy Connections pages.

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

* Rename post-quantum cryptography page and fix hydration error

Drop the "Enable" prefix from the page title and filename for a cleaner
topic name. Update redirects and navigation. Fix hydration mismatch
caused by a <div> (Button component) nested inside a <p> tag.

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:53:51 +01:00
shuuri-labs
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
Eduard Gert
766b03cc40 Update NextJS (#584)
* Update nextjs

* Add eslint config
2026-02-02 17:33:09 +01:00
Eduard Gert
513dc3bc2c Redirect dns/zones to dns/custom-zones (#559) 2026-01-19 11:08:10 +01:00
Maycon Santos
7af0ef443c Update slack url (#557) 2026-01-17 16:19:00 +01:00
Eduard Gert
1dd22c0a41 Fix asset prefix (#555) 2026-01-16 17:59:18 +01:00
Eduard Gert
80f49501d4 Update nextjs (#550) 2026-01-14 16:20:02 +01:00
shuuri-labs
bda7a40cd1 Revert nextjs upgrade (#548)
* revert upgrade to nextjs 16

* revert nextjs upgrade to 16 back down to 13, as nodejs upgrade is also required
2026-01-13 20:44:30 +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
Brandon Hopkins
1bc91042c0 General Docs Improvements (#542) 2026-01-12 23:01:42 +01:00
shuuri-labs
4db6796ef9 docs: Restructure and improve DNS documentation (#504)
* docs: Restructure and improve DNS documentation

Reorganizes DNS docs into overview, configuration, settings, and troubleshooting
guides with clearer explanations and UI-aligned terminology

* amendments from Vik's feedback

* clarified IP assignment range

* remove incorrect common mistake note

* - added diagrams
- renamed dns overview.mdx to index.mdx
- updated references/redirects
- created new spacer div class

---------

Co-authored-by: Ashley Mensah <ashley@netbird.io>
2025-12-04 11:16:57 -08:00
shuuri-labs
11867aa4b8 Added install page from Android TV/tvOS (#495)
* - Seperated Android and iOS install pages
- Added detailed setup guide for Android, Android TV

* updated image alt tags

* removed dead links, tv.mdx

* redirect old mobile page to install index page

---------

Authored-by: Ashley Mensah <ashley@netbird.io>
2025-11-27 09:59:52 -08:00
Brandon Hopkins
e45bb7ce11 Final Doc Restructure (#497) 2025-11-27 09:50:03 -08:00
Brandon Hopkins
0080ae97df Restructuring Phase 3 (#492) 2025-11-24 18:25:44 +01:00
Brandon Hopkins
227e5cbb89 Reorganize Get Started Documentation Structure (#490) 2025-11-21 17:17:10 -08:00
Brandon Hopkins
a8f91c38b1 New Group and Access Policies Document and Initial Reorganization of Access Control Structure (#477)
* New Access Control and ReOrg

* Enhance Access Control Documentation and Add New Resources

- Updated `next.config.mjs` to include new redirects for access control documentation.
- Added multiple images related to access control and endpoint detection and response.
- Refactored links in various documentation files to point to the new access control structure.
- Removed outdated documentation files and created new ones for managing access control and endpoint detection.
- Introduced a new section for understanding posture checks and their implementation in access control.

This commit aims to improve the organization and clarity of access control resources, aligning with the recent restructuring of documentation.

* Remove outdated Intune MDM documentation and update links in access control resources. This commit enhances the organization of the documentation by eliminating obsolete files and ensuring all references to Microsoft Intune are correctly aligned with the new structure.

* Fix typos in access control documentation for clarity and accuracy. Updated "Understnading" to "Understanding" and corrected "NerBird" to "NetBird" in relevant sections.
* Fix typo in Access Control section
* Fix formatting in posture checks documentation
* Added a space in the Posture Checks reference for clarity.
2025-11-18 10:30:45 -08:00
Maycon Santos
601306243c Update slack invite url (#467) 2025-11-08 21:17:40 +01:00
Maycon Santos
c810a0a9da Update Slack URL in redirects configuration (#418) 2025-08-24 17:51:12 +02:00
Maycon Santos
aa11529511 update slack url and twitter (#355)
* update slack url and twitter

use a dedicated url for slack, allowing update in a single place

rename Twitter references to X

* rollback Install NetBird title in navigation menu
2025-05-29 00:50:55 +02:00
Eduard Gert
114eb77c82 Add permanent redirect for /ipa routes (#271) 2025-03-06 20:59:40 +01:00
Misha Bragin
10df6808a8 Update Network Doc (#266)
* Change networks docs

* Change networks docs

* add redirect

---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
2024-12-27 21:37:49 +01:00
braginini
27af84d391 Redirect old docs 2023-05-25 14:56:37 +02:00
braginini
99398088f8 Fix old /docs redirects 2023-05-24 16:23:39 +02:00
braginini
04ea9c4991 Move docs to root 2023-05-23 21:34:03 +02:00
braginini
f8b79ddcd8 Fix links 2023-05-23 20:09:00 +02:00
braginini
8d3ca83eb0 Fix redirects 2023-05-23 19:00:39 +02:00
braginini
1079e55aea redirect static files to a prefixed path 2023-05-23 15:53:01 +02:00
braginini
053fe87b96 Fixes 2023-05-19 19:51:25 +02:00
Pascal Fischer
6131138e65 add TOC 2023-05-10 00:46:38 +02:00
Pascal Fischer
a194609ce2 add more redirects 2023-05-09 16:45:23 +02:00
Pascal Fischer
081e88b437 set landing pages 2023-05-04 13:17:03 +02:00
Pascal Fischer
86b1890396 add first version of tailwind docs 2023-05-03 19:00:56 +02:00