Commit Graph
14 Commits
Author SHA1 Message Date
Jack Carter ec1c1c14db HA guide: add the auth block and deploy the flow receiver and enricher (#1001)
Step 7's config.yaml had no auth block, and the combined server exits without one
(issuer is required). The guide also enabled trafficFlow without deploying the
services that receive and store traffic events. Add both, the receiver's subject
under the traffic-events stream, its secret (the relay secret), and the
/flow.FlowService/ route on the Management load balancer.
2026-09-28 14:09:59 +02:00
Jack Carter 9450f06efd HA guide: relay addressing and Management pool fixes (#993)
* docs: give each relay instance its own address in the HA guide

The guide put every relay instance behind one load balancer with an
identical NB_EXPOSED_ADDRESS. Relay instances share no state, and the
address an instance announces becomes each peer's relay identity. With one
shared address, two peers whose connections land on different instances
each wait for the other on their own instance, and the relayed connection
never forms (`peer not available: ..., context deadline exceeded`), while
every peer still reports the relay as Available.

Replace the relay load balancer with two options:
1. List every instance in server.relays.addresses. Clients connect to all
   of them, keep the fastest, and fail over by themselves.
2. A geo-DNS name in server.relays.addresses, with a unique, reachable
   NB_EXPOSED_ADDRESS kept on every instance. Each instance then needs one
   certificate valid for the shared name and its own name, supplied rather
   than issued by the relay's built-in Let's Encrypt, and the DNS record
   needs health checks.

Also:
- Correct the relay health check (404 page not found, not 200) and the
  secret-mismatch error (invalid signature, not auth: invalid token).
- Add troubleshooting entries for both relay failure modes.
- Apply a rotated NB_AUTH_SECRET with `docker compose up -d`.
- Move the relay secret into a relay.env file with chmod 600.
- Update prerequisites, Step 4, Step 7, the Step 8 failure scenarios and the
  operations section for two load balancers instead of three.

* docs: name the Management image and fix its health check and Redis errors in the HA guide

The Management replicas run the combined netbird-server-cloud image. /api/health
does not exist on it, so the load balancer check and the bring-up step now use
the OIDC discovery document, which answers while the replica serves. The Redis
troubleshooting entry now quotes the two errors the image actually prints.

* docs: use netbird.example.com for the Management domain, as the rest of the self-hosted docs do

* docs: add a tested self-hosted NATS cluster example to the HA guide

* docs: encrypt the NATS example with TLS from a private CA, and trust it in Management and Signal

* Revert "docs: encrypt the NATS example with TLS from a private CA, and trust it in Management and Signal"

This reverts commit f85a128ef3.

* docs: state that the NATS example does not configure TLS
2026-09-26 10:28:05 +02:00
Jack Carter 2d02cd4940 Add an external relays guide for commercial-license deployments (#992)
* docs: add an external relays guide for commercial-license deployments

On NetBird Enterprise the relay's shared secret is also the traffic-flow
receiver's secret. The community guide tells readers to generate a new
secret, which on Enterprise leaves peers connected while traffic event
logging stops. Add a standalone Enterprise page that reuses the existing
secret, reads it from config.yaml, and ends with a check that the receiver
is still accepting events.

Correct the community guide:
- Relay hosts need 443/tcp, 443/udp and 3478/udp, not port 80: the relay
  obtains its certificate with the TLS-ALPN-01 challenge on 443. Publish
  443/udp in the compose file too, for QUIC.
- Apply a config.yaml change with `docker compose restart netbird-server`,
  and a docker-compose.yml port change with `docker compose up -d`.
- Treat the config.yaml example as an addition to the server block, which
  also holds auth, reverseProxy and store.
- Keep server.authSecret. Setting relays.addresses turns off the embedded
  relay and STUN server, with no way to keep the embedded relay alongside.
- Relay choice is a latency race, a client can hold more than one relay
  connection, and either transport can win.
- STUN status is not a failover signal, and a secret mismatch is best seen
  in the relay host's log.
- Describe the startup log, the /relay response, and a certificate request
  that hangs rather than errors.
- Make the proxy and supplied-certificate sections complete: the relay's
  own configuration behind a proxy, what the proxy must do, what the
  trusted-proxy headers affect, how to apply changes, and the pitfalls of
  supplied certificates, including private CAs.
- chmod 600 relay.env, and apply later relay.env changes with
  `docker compose up -d`.

List the new page under Commercial License as "External Relays (Licensed)"
and link it from the scaling guide.

* docs: clarify the receiver's log level, the firewall that restricts a published relay port, and the leftover Let's Encrypt sign

* docs: qualify the Step 1 traffic events check by the receiver's log level

* docs: cover migrated and no-traffic-flow deployments on the external relays page, and separate the two secret mismatches

* docs: name the QUIC form of the relay's secret-mismatch reason

* docs: read the active server configuration in Step 2, cover a stale receiver secret in Step 8, and separate what each receiver check proves
2026-09-25 19:33:40 +02:00
PizzaLovingNerd 25787828ec Fix SQLite migration for additional account settings (#913)
* Added needed account settings to the migration column and added more
dependencies.

* Export libpq when installing with homebrew.

* Update migrate-sqlite-to-postgresql.mdx
2026-08-18 17:45:10 -07:00
PizzaLovingNerd 8aa22ac4ce More complete documentation for setting up Crowdsec and the proxy manually. (#784)
* Update docs for reverse-proxy migration.

Fixes https://github.com/netbirdio/netbird/issues/6059.

However, make sure to have someone from NetBird review before the pull
request.

* typo fixes for reverse proxy change

* Improved documentation for crowdsec.
2026-08-05 11:17:47 -07:00
PizzaLovingNerd b867aa85c8 Updates for the NetBird 0.75 update (#881) 2026-07-24 07:43:56 -07:00
Nicolas Frati 35d562944b docs: add documentation for admin cli (#832) 2026-07-22 06:36:36 -07:00
Bethuel Mmbaga ffb72cfa34 Add HA guide for self-hosted Enterprise (#812)
* render mermaid disgrams

* wip: add ha docs

* improve high availability guide

* fix review

* remove nav links and references

* remove dead server.authSecret references

* fix Redis troubleshooting command using non-existent env var

* correct startup-log order
2026-06-25 14:53:25 +02:00
Bethuel Mmbaga 9e09fa68fa Update sqlite to postgres migration (#771) 2026-05-29 11:38:31 +03: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
Brandon Hopkins e64d8012d7 Document cross-host proxy gRPC routing for multi-proxy deployments (#728)
* Prepare the management server for cross-host proxies

* Add warning and minor mdx fix
2026-05-08 09:59:07 -07:00
Misha Bragin 58625d69f6 Add auth store migration (#637) 2026-02-27 08:37:28 +02:00
shuuri-labs d49f899db1 Reverse Proxy - Multiple Instances (#620) 2026-02-19 13:14:43 +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