[PR #5600] Add BunkerWeb as reverse proxy option in getting-started.sh #26250

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

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/5600
Author: @TheophileDiot
Created: 3/16/2026
Status: 🔄 Open

Base: mainHead: add/bunkerweb


📝 Commits (7)

  • 6183e02 [client] Add BunkerWeb support with configuration options and Docker autoconf mode
  • 4383b97 Improve BunkerWeb instructions and config file message in getting-started.sh
  • c338f07 [client] Update BunkerWeb reverse proxy type and configuration in getting-started.sh
  • ed74f89 Enhance BunkerWeb configuration validation and add CI_SKIP_START option in getting-started.sh
  • 192297b Validate CI_REVERSE_PROXY_TYPE and CI_BUNKERWEB_MODE in configure_reverse_proxy function
  • ee84924 Add validation for CI_BIND_LOCALHOST_ONLY and update port binding in reverse proxy configuration
  • 80a38fa Enhance CI_ENABLE_PROXY validation and update bind address in Docker Compose for BunkerWeb

📊 Changes

2 files changed (+493 additions, -13 deletions)

View changed files

📝 .github/workflows/test-infrastructure-files.yml (+69 -0)
📝 infrastructure_files/getting-started.sh (+424 -13)

📄 Description

Describe your changes

Add BunkerWeb >= 1.6.9 as a selectable reverse proxy option ([5]) in the getting-started.sh installer, alongside the existing Traefik, Nginx, NPM, and Caddy options.

BunkerWeb is an open-source WAF and reverse proxy built on Nginx. Two integration modes are supported:

  • Mode A (Config file): Generates bunkerweb-netbird.conf with all BunkerWeb settings (native gRPC via USE_GRPC/GRPC_*, WebSocket, HTTP routes, dashboard catch-all, TLS options, WAF tuning, ModSecurity CRS exclusions for OAuth2). Users apply these to their existing BunkerWeb instance.
  • Mode B (Docker autoconf): Generates a docker-compose.yml with bunkerweb.* labels for automatic service discovery by BunkerWeb's autoconf controller.

Both modes use BunkerWeb's native gRPC support (not custom Nginx snippets), include CLIENT_BODY_TIMEOUT=1d / CLIENT_HEADER_TIMEOUT=1d global settings required for long-lived gRPC/WebSocket connections, WAF settings (ALLOWED_METHODS including PUT/DELETE/PATCH for the NetBird API), and multisite guidance.

CI coverage is added via a new test-getting-started-bunkerweb job that validates generated artifacts for both modes.

N/A

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:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

The generated config file (bunkerweb-netbird.conf) and post-setup instructions printed by the installer serve as self-contained documentation. The BunkerWeb template at bunkerweb-templates/netbird provides additional UI-guided setup.

Summary by CodeRabbit

  • New Features

    • Added BunkerWeb as a reverse-proxy option with two discovery modes: Config-file (A) and Docker autoconf (B). Setup wizard now supports mode selection, mode-specific generation, and startup flows; CI overrides available.
  • Tests

    • New CI workflow job to validate generated BunkerWeb artifacts and docker-compose outputs for both modes, including ports, labels, and expected routes.
  • Documentation

    • Updated onboarding and post-setup instructions, cleanup notes, TLS, network and WAF guidance to include BunkerWeb scenarios.

🔄 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/5600 **Author:** [@TheophileDiot](https://github.com/TheophileDiot) **Created:** 3/16/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `add/bunkerweb` --- ### 📝 Commits (7) - [`6183e02`](https://github.com/netbirdio/netbird/commit/6183e02ec6cbc38e8c74be40579164e0783abe5f) [client] Add BunkerWeb support with configuration options and Docker autoconf mode - [`4383b97`](https://github.com/netbirdio/netbird/commit/4383b97cab60f80ad35f20546b6ba315b88a0750) Improve BunkerWeb instructions and config file message in getting-started.sh - [`c338f07`](https://github.com/netbirdio/netbird/commit/c338f077250b901ab23cc49f20bab41e6b0ffeb5) [client] Update BunkerWeb reverse proxy type and configuration in getting-started.sh - [`ed74f89`](https://github.com/netbirdio/netbird/commit/ed74f89a28a994c8728da61bc236fee828564fd2) Enhance BunkerWeb configuration validation and add CI_SKIP_START option in getting-started.sh - [`192297b`](https://github.com/netbirdio/netbird/commit/192297bb8db77ee1ff70f2b848586a57af94000b) Validate CI_REVERSE_PROXY_TYPE and CI_BUNKERWEB_MODE in configure_reverse_proxy function - [`ee84924`](https://github.com/netbirdio/netbird/commit/ee8492492930ab7626529375b4f0e1cd2af29063) Add validation for CI_BIND_LOCALHOST_ONLY and update port binding in reverse proxy configuration - [`80a38fa`](https://github.com/netbirdio/netbird/commit/80a38faa0ab264c3a6e30342a6d4933e0706a625) Enhance CI_ENABLE_PROXY validation and update bind address in Docker Compose for BunkerWeb ### 📊 Changes **2 files changed** (+493 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/test-infrastructure-files.yml` (+69 -0) 📝 `infrastructure_files/getting-started.sh` (+424 -13) </details> ### 📄 Description ## Describe your changes Add BunkerWeb >= 1.6.9 as a selectable reverse proxy option ([5]) in the getting-started.sh installer, alongside the existing Traefik, Nginx, NPM, and Caddy options. BunkerWeb is an open-source WAF and reverse proxy built on Nginx. Two integration modes are supported: - **Mode A (Config file):** Generates `bunkerweb-netbird.conf` with all BunkerWeb settings (native gRPC via `USE_GRPC`/`GRPC_*`, WebSocket, HTTP routes, dashboard catch-all, TLS options, WAF tuning, ModSecurity CRS exclusions for OAuth2). Users apply these to their existing BunkerWeb instance. - **Mode B (Docker autoconf):** Generates a `docker-compose.yml` with `bunkerweb.*` labels for automatic service discovery by BunkerWeb's autoconf controller. Both modes use BunkerWeb's native gRPC support (not custom Nginx snippets), include `CLIENT_BODY_TIMEOUT=1d` / `CLIENT_HEADER_TIMEOUT=1d` global settings required for long-lived gRPC/WebSocket connections, WAF settings (`ALLOWED_METHODS` including PUT/DELETE/PATCH for the NetBird API), and multisite guidance. CI coverage is added via a new `test-getting-started-bunkerweb` job that validates generated artifacts for both modes. ## Issue ticket number and link N/A ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [x] 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 - [x] Documentation is **not needed** for this change (explain why) The generated config file (`bunkerweb-netbird.conf`) and post-setup instructions printed by the installer serve as self-contained documentation. The BunkerWeb template at [bunkerweb-templates/netbird](https://github.com/bunkerity/bunkerweb-templates) provides additional UI-guided setup. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added BunkerWeb as a reverse-proxy option with two discovery modes: Config-file (A) and Docker autoconf (B). Setup wizard now supports mode selection, mode-specific generation, and startup flows; CI overrides available. * **Tests** * New CI workflow job to validate generated BunkerWeb artifacts and docker-compose outputs for both modes, including ports, labels, and expected routes. * **Documentation** * Updated onboarding and post-setup instructions, cleanup notes, TLS, network and WAF guidance to include BunkerWeb scenarios. <!-- 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:07:05 -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#26250