Skip to content

Crowdsec Dashboard Protection docs#831

Open
PizzaLovingNerd wants to merge 7 commits into
netbirdio:mainfrom
PizzaLovingNerd:crowdsec-dashboard
Open

Crowdsec Dashboard Protection docs#831
PizzaLovingNerd wants to merge 7 commits into
netbirdio:mainfrom
PizzaLovingNerd:crowdsec-dashboard

Conversation

@PizzaLovingNerd

@PizzaLovingNerd PizzaLovingNerd commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

People were asking how to protect the actual dashboard with crowdsec, so I wrote a little guide in the docs on how to do so.

Summary by CodeRabbit

  • Documentation
    • Added a new guide to protect the self-hosted NetBird dashboard using CrowdSec AppSec with the Traefik CrowdSec bouncer plugin.
    • Covers prerequisites, required ports/domains, configuration steps, and verification (expected access vs. blocked malicious probes).
    • Includes a temporary IP blocking workflow in stream mode and troubleshooting for startup order, networking, and AppSec metrics.
    • Updated the documentation navigation with a new “CrowdSec Dashboard Protection” link under Self-Hosted NetBird → Maintenance.

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bf2a2250-cb21-4f40-a45d-36b51e22d66f

📥 Commits

Reviewing files that changed from the base of the PR and between 158e767 and f512d8f.

📒 Files selected for processing (1)
  • src/components/NavigationDocs.jsx
💤 Files with no reviewable changes (1)
  • src/components/NavigationDocs.jsx

📝 Walkthrough

Walkthrough

Adds a new MDX guide and navigation entry for protecting the self-hosted NetBird dashboard with CrowdSec AppSec and the Traefik CrowdSec bouncer plugin, including setup, Compose/Traefik changes, verification, manual testing, and troubleshooting.

Changes

CrowdSec Dashboard Documentation

Layer / File(s) Summary
Navigation entry
src/components/NavigationDocs.jsx
Adds a Maintenance navigation link for the new CrowdSec dashboard protection page.
Page intro and prerequisites
src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx
Adds the exported page description, introduction, prerequisites, and required shell variables.
Deployment and config setup
src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx
Adds the new-install and migration flow, the dashboard bouncer key creation, and the AppSec acquisition file.
Compose and Traefik wiring
src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx
Updates the generated Compose and Traefik configuration, including the plugin, middleware, router priority, network settings, health gating, and CrowdSec service readiness checks.
Apply, verify, and troubleshoot
src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx
Adds the apply procedure, verification commands, manual IP-block testing, troubleshooting notes, and related documentation links.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: SunsetDrifter

Poem

I’m a rabbit with a docs-filled cart,
Hop-hop through CrowdSec, page by page.
Traefik guards the dashboard heart,
And bouncer keys take center stage. 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the new documentation about protecting the dashboard with CrowdSec.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx (1)

128-131: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use a Warning component for the critical "don't attach to proxy-passthrough" caveat.

This callout guards against a config mistake that could break NetBird Proxy TCP passthrough. Per coding guidelines, alert-worthy content should use the Warning component from @/components/mdx rather than plain text, to make it visually distinct.

As per coding guidelines: "Import custom components from @/components/mdx (Note, Warning, Success) ... as needed for alerts, layout, media, and UI".

📝 Proposed change
+import { Warning } from '`@/components/mdx`'
+
...
-Leave the NetBird Proxy TCP passthrough labels unchanged. Do not attach this middleware to the `proxy-passthrough` TCP router.
+<Warning>
+  Leave the NetBird Proxy TCP passthrough labels unchanged. Do not attach this middleware to the `proxy-passthrough` TCP router.
+</Warning>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx` around lines 128 -
131, The caveat about not attaching the middleware to the proxy-passthrough TCP
router is currently plain text and should be converted to the mdx Warning
component for alert-worthy guidance. Update the crowdsec-dashboard.mdx content
to use Warning from `@/components/mdx` for this specific “do not attach to
proxy-passthrough” instruction, while keeping the NetBird domain replacement
note separate and leaving the NetBird Proxy TCP passthrough labels unchanged.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx`:
- Around line 132-152: This update should be applied as a merge into the
generated crowdsec service, not as a full replacement, because the existing
installer-created service already includes fields like labels and logging that
must be preserved. In the crowdsec service definition used by the
installer/quickstart, add the AppSec collections, the dashboard bouncer
environment entry, and the stricter healthcheck while keeping all current keys
and settings intact. Make the changes in the crowdsec service block so it still
includes the existing metadata and runtime configuration alongside the new
COLLECTIONS, BOUNCER_KEY_netbird_dashboard, and healthcheck behavior.

---

Nitpick comments:
In `@src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx`:
- Around line 128-131: The caveat about not attaching the middleware to the
proxy-passthrough TCP router is currently plain text and should be converted to
the mdx Warning component for alert-worthy guidance. Update the
crowdsec-dashboard.mdx content to use Warning from `@/components/mdx` for this
specific “do not attach to proxy-passthrough” instruction, while keeping the
NetBird domain replacement note separate and leaving the NetBird Proxy TCP
passthrough labels unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 774b8ea5-8e42-4149-bc5b-eb30306b28ce

📥 Commits

Reviewing files that changed from the base of the PR and between b3e19fd and 56ecbcf.

📒 Files selected for processing (1)
  • src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx

Comment thread src/pages/selfhosted/maintenance/crowdsec-dashboard.mdx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant