Server Installation
The NudgeBee Server is the central component of the NudgeBee platform. It receives data from NudgeBee Agents, performs analysis, and handles user authentication and integrates with external services. This is required for self-hosted deployments only.
Cloud SaaS users: You do not need to install the server. It is fully managed for you at app.nudgebee.com. Skip to the Agent Installation.
Architecture

Estimated time: 15–30 minutes, depending on your cluster and infrastructure setup.
Watch the Walkthrough
1. Before You Begin
Make sure you have the following ready before starting the installation.
Required
| Requirement | Details | Notes |
|---|---|---|
| Kubernetes cluster | v1.27 or newer, minimum 2 nodes | Each node: 16 GB RAM, 4 cores, 100 GB SSD |
| Helm | v3.x installed and configured | Install Helm if you don't have it |
| NudgeBee License Key | Provided when you sign up for a self-hosted license | Contact NudgeBee support if you don't have one |
| Registry access | Cluster must be able to pull images from registry.nudgebee.com | Or mirror the images to your internal registry for air-gapped environments |
| Persistent Volume | 200 GB available (100 GB if you use an external Postgres) | Required for database and application state |
How much does the server actually use? All NudgeBee server components together consume approximately 12 GB RAM and 4 CPU cores. This includes the bundled Postgres, RabbitMQ, and ClickHouse. If you manage these dependencies externally, the footprint drops to around 8 GB RAM and 2 CPU cores. The 2-node recommendation provides headroom for reliability.
Optional but Recommended
These are not required to get NudgeBee running, but they improve the production experience. You can add all of these after installation.
| Component | What it enables | Default without it |
|---|---|---|
| SSL / DNS / Ingress | Public URL access, Slack apps, webhook triggers, magic link login | Access via kubectl port-forward only |
| External Postgres | Use your own managed database for easier backup and scaling | NudgeBee bundles its own Postgres automatically |
| Email (SMTP) | Daily summary reports and magic link authentication | Users log in via SSO or admin invite only |
| LLM provider | AI-powered troubleshooting, NuBi agent, automated runbooks | Configure after installation — see LLM Integrations |
Network Requirements
Your cluster needs the following network access for the installation and normal operation:
- Outbound to
registry.nudgebee.com— to pull Docker images during installation. - Internal DNS resolution — pods must be able to resolve the
BASE_URLyou configure (used for authentication). - Outbound to external services (if you use them) — Slack, Jira, MS Teams, GitHub, OpenAI, etc. require outbound connectivity from the NudgeBee server.
- Inbound from external services (optional) — if you use bidirectional integrations like Slack apps, Slack needs to reach your NudgeBee server's public URL.
Starting simple? You can skip Ingress, SSL, and external services for now. The minimal installation works with just outbound registry access and internal DNS. Add public access and integrations later.
2. Install NudgeBee
The installation is three steps: log in to the Helm registry, create a values file, and run the Helm install.
Step 1: Log in to the Helm Registry
helm registry login registry.nudgebee.com --username nudgebee --password $NUDGEBEE_LICENSE_KEY
Replace $NUDGEBEE_LICENSE_KEY with your actual license key.
Step 2: Create Your values.yaml
Create a file called values.yaml with the minimum required configuration. This gets NudgeBee running with port-forwarding — the simplest setup that works.
global:
image:
registry: "registry.nudgebee.com"
imagePullSecrets:
- name: nudgebee-registry-secret
nudgebee_registry_secret:
enabled: true
nudgebee_secret:
BASE_URL: "http://localhost:3000"
NUDGEBEE_LICENSE: <your-license-key>
app:
ingress:
enabled: false
k8s-collector:
ingress:
enabled: false
relay-server:
ingress:
enabled: false
Replace <your-license-key> with your NudgeBee license key.
Step 3: Run the Helm Install
helm upgrade nudgebee oci://registry.nudgebee.com/nudgebee \
-f values.yaml \
--install \
--namespace nudgebee \
--create-namespace \
--wait \
--kube-context $KUBE_CONTEXT
To install a specific version, add --version $CHART_VERSION to the command.
This minimal setup gets NudgeBee running with port-forwarding. You can add Ingress, SSL, external Postgres, and other configurations later without reinstalling — just update your values.yaml and run helm upgrade again.