[PR #5232] [MERGED] [self-hosted] add netbird server #27445

Closed
opened 2026-08-05 07:08:43 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/5232
Author: @braginini
Created: 2/1/2026
Status: Merged
Merged: 2/12/2026
Merged by: @mlsmaycon

Base: mainHead: combined


📝 Commits (10+)

  • e6e12b4 Add automatic WebSocket fallback for HTTP/1.1-only environments
  • 1ed8154 Add comment to empty EnableWebSocketFallback function for SonarQube
  • 4fffdbb Address CodeRabbit review comments
  • 33974ff Address additional CodeRabbit nitpicks
  • 44e9619 Merge branch 'netbirdio:main' into main
  • 22904ae Merge branch 'netbirdio:main' into main
  • b0525d8 Merge branch 'netbirdio:main' into main
  • 0a1a20a Embedded STUN initial commit
  • 7e359e1 Add logs
  • d346bb4 Update stun log

📊 Changes

23 files changed (+2185 additions, -590 deletions)

View changed files

📝 .goreleaser.yaml (+94 -0)
combined/Dockerfile (+5 -0)
combined/cmd/config.go (+715 -0)
combined/cmd/pprof.go (+33 -0)
combined/cmd/root.go (+711 -0)
combined/config-simple.yaml.example (+111 -0)
combined/config.yaml.example (+115 -0)
combined/main.go (+13 -0)
📝 infrastructure_files/getting-started.sh (+229 -523)
📝 management/cmd/management.go (+23 -23)
📝 management/cmd/management_test.go (+1 -1)
📝 management/internals/server/server.go (+26 -7)
📝 management/server/store/sql_store.go (+2 -2)
📝 management/server/store/store.go (+14 -4)
📝 management/server/telemetry/app_metrics.go (+50 -0)
📝 relay/cmd/root.go (+1 -1)
📝 relay/server/server.go (+8 -0)
📝 shared/metrics/metrics.go (+0 -0)
📝 signal/cmd/root.go (+0 -1)
📝 signal/cmd/run.go (+15 -13)

...and 3 more files

📄 Description

Describe your changes

Add a combined version of NetBird's control plane.

docs are coming.

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/__

Summary by CodeRabbit

  • New Features
    • Unified NetBird combined server (Management, Signal, Relay, STUN) as a single executable with richer YAML configuration, validation, and defaults.
    • Official Dockerfile/image for single-container deployment.
    • Optional in-process profiling endpoint for diagnostics.
    • Multiplexing to route HTTP/gRPC/WebSocket traffic via one port; runtime hooks to inject custom handlers.
  • Chores
    • Updated deployment scripts, compose files, and reverse-proxy templates to target the combined server; added example configs and getting-started updates.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/5232 **Author:** [@braginini](https://github.com/braginini) **Created:** 2/1/2026 **Status:** ✅ Merged **Merged:** 2/12/2026 **Merged by:** [@mlsmaycon](https://github.com/mlsmaycon) **Base:** `main` ← **Head:** `combined` --- ### 📝 Commits (10+) - [`e6e12b4`](https://github.com/netbirdio/netbird/commit/e6e12b423fbc78c13453381e5af51f2d43a7133d) Add automatic WebSocket fallback for HTTP/1.1-only environments - [`1ed8154`](https://github.com/netbirdio/netbird/commit/1ed81542ebf4e579b5ab4baffca28be4c6cd2716) Add comment to empty EnableWebSocketFallback function for SonarQube - [`4fffdbb`](https://github.com/netbirdio/netbird/commit/4fffdbbf771655c7886cd6cccb86835661130c38) Address CodeRabbit review comments - [`33974ff`](https://github.com/netbirdio/netbird/commit/33974ff50b89b999fa7d9fdf7d66ef02469eda5e) Address additional CodeRabbit nitpicks - [`44e9619`](https://github.com/netbirdio/netbird/commit/44e961965ae87ba74d83d1a0ff3c60bb08fa8ef2) Merge branch 'netbirdio:main' into main - [`22904ae`](https://github.com/netbirdio/netbird/commit/22904aef0fef1c24d61e520b44cd3646cdb4a3e8) Merge branch 'netbirdio:main' into main - [`b0525d8`](https://github.com/netbirdio/netbird/commit/b0525d8c710404193dc195e37bdd34a9c8949367) Merge branch 'netbirdio:main' into main - [`0a1a20a`](https://github.com/netbirdio/netbird/commit/0a1a20aa01df2f7d56cafca7f67a8aee08c7738a) Embedded STUN initial commit - [`7e359e1`](https://github.com/netbirdio/netbird/commit/7e359e17d71c3e8ee385ecdc9846a8b996ced48c) Add logs - [`d346bb4`](https://github.com/netbirdio/netbird/commit/d346bb4f067e509dd60217d5935c471103cc3295) Update stun log ### 📊 Changes **23 files changed** (+2185 additions, -590 deletions) <details> <summary>View changed files</summary> 📝 `.goreleaser.yaml` (+94 -0) ➕ `combined/Dockerfile` (+5 -0) ➕ `combined/cmd/config.go` (+715 -0) ➕ `combined/cmd/pprof.go` (+33 -0) ➕ `combined/cmd/root.go` (+711 -0) ➕ `combined/config-simple.yaml.example` (+111 -0) ➕ `combined/config.yaml.example` (+115 -0) ➕ `combined/main.go` (+13 -0) 📝 `infrastructure_files/getting-started.sh` (+229 -523) 📝 `management/cmd/management.go` (+23 -23) 📝 `management/cmd/management_test.go` (+1 -1) 📝 `management/internals/server/server.go` (+26 -7) 📝 `management/server/store/sql_store.go` (+2 -2) 📝 `management/server/store/store.go` (+14 -4) 📝 `management/server/telemetry/app_metrics.go` (+50 -0) 📝 `relay/cmd/root.go` (+1 -1) 📝 `relay/server/server.go` (+8 -0) 📝 `shared/metrics/metrics.go` (+0 -0) 📝 `signal/cmd/root.go` (+0 -1) 📝 `signal/cmd/run.go` (+15 -13) _...and 3 more files_ </details> ### 📄 Description ## Describe your changes Add a combined version of NetBird's control plane. > docs are coming. ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [ ] I added/updated documentation for this change https://github.com/netbirdio/docs/pull/593 - [x] Documentation is **not needed** for this change (explain why) ### Docs PR URL (required if "docs added" is checked) Paste the PR link from https://github.com/netbirdio/docs here: https://github.com/netbirdio/docs/pull/__ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Unified NetBird combined server (Management, Signal, Relay, STUN) as a single executable with richer YAML configuration, validation, and defaults. * Official Dockerfile/image for single-container deployment. * Optional in-process profiling endpoint for diagnostics. * Multiplexing to route HTTP/gRPC/WebSocket traffic via one port; runtime hooks to inject custom handlers. * **Chores** * Updated deployment scripts, compose files, and reverse-proxy templates to target the combined server; added example configs and getting-started updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 07:08:43 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#27445