Skip to main content

Helm

Deploy RushDB on Kubernetes using the Helm chart. The chart bundles RushDB and optionally a Neo4j instance — or you can point it at an existing Neo4j deployment.

Prerequisites

ToolMinimum version
Kubernetes1.27
Helm3.12
Neo4j + APOC Core2026.x (see note below)

Install

helm install rushdb oci://ghcr.io/rush-db/charts/rushdb \
--set rushdb.encryptionKey="32SymbolStringForTokenEncryption" \
--set rushdb.adminLogin=admin \
--set rushdb.adminPassword=changeme \
--set neo4j.enabled=true \
--set neo4j.password=neo4jpassword
Encryption key

rushdb.encryptionKey must be exactly 32 characters. This value encrypts all API token values at rest — do not change it after the first install without a migration.


values.yaml reference

Create a values.yaml for repeatable installs:

rushdb:
image:
repository: rushdb/platform
tag: latest # pin to a specific version in production
pullPolicy: IfNotPresent

# Required
encryptionKey: '32SymbolStringForTokenEncryption' # exactly 32 chars
adminLogin: admin
adminPassword: changeme

# Neo4j connection (when neo4j.enabled=false)
neo4jUrl: ''
neo4jUsername: neo4j
neo4jPassword: ''

# SQL metadata database
sqlDbType: sqlite # or "postgres"
sqlDbUrl: '' # postgresql://user:pass@host:5432/rushdb (when postgres)

service:
type: ClusterIP
port: 3000

ingress:
enabled: false
# className: nginx
# annotations: {}
# hosts:
# - host: rushdb.example.com
# paths:
# - path: /
# pathType: Prefix
# tls: []

resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 1000m
memory: 1Gi

persistence:
enabled: true
size: 1Gi
# storageClass: ""

neo4j:
enabled: true
image: neo4j:2026.01.4
password: neo4jpassword
plugins:
- apoc
persistence:
enabled: true
size: 10Gi
resources:
requests:
memory: 2Gi
limits:
memory: 4Gi

Apply with:

helm install rushdb oci://ghcr.io/rush-db/charts/rushdb -f values.yaml

Upgrade

helm upgrade rushdb oci://ghcr.io/rush-db/charts/rushdb -f values.yaml

Expose via Ingress

Enable the ingress in values.yaml:

rushdb:
ingress:
enabled: true
className: nginx
hosts:
- host: rushdb.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: rushdb-tls
hosts:
- rushdb.example.com

Neo4j

The bundled Neo4j sub-chart uses neo4j:2026.01.4 with APOC Core pre-installed. This is the same version used in the Docker Compose setup.

For production workloads consider:

  • Neo4j Aura — managed Neo4j with automatic backups. Set neo4j.enabled=false and configure rushdb.neo4jUrl with a neo4j+s:// URI.
  • Neo4j Helm chart — the official Neo4j Helm chart for fine-grained resource control.
APOC Core required

RushDB will not start without APOC Core. If you bring your own Neo4j instance, ensure apoc-2026.x.x-core.jar is installed and the version matches your Neo4j release.


Uninstall

helm uninstall rushdb

PersistentVolumeClaims are not deleted automatically. To remove them:

kubectl delete pvc -l app.kubernetes.io/instance=rushdb