Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nusomi.com/llms.txt

Use this file to discover all available pages before exploring further.

Helm

helm repo add nusomi https://charts.nusomi.com
helm repo update

helm install nusomi nusomi/nusomi \
  --namespace nusomi \
  --create-namespace \
  --values my-values.yaml
Minimal my-values.yaml:
license:
  key: "license-key-from-your-account-manager"

domain: "nusomi.internal.acme.com"

postgres:
  host: "pg.internal.acme.com"
  database: "nusomi"
  user: "nusomi"
  passwordSecret: "nusomi-pg"

objectStore:
  kind: "s3"
  bucket: "acme-nusomi-frames"
  region: "us-east-1"
  iamRoleArn: "arn:aws:iam::...:role/nusomi-frames"

redis:
  host: "redis.internal.acme.com:6379"
  passwordSecret: "nusomi-redis"

modelGateway:
  baseUrl: "https://gateway.internal.acme.com/v1"
  apiKeySecret: "nusomi-gateway-key"

profile: "starter"  # starter | mid | large | xl

TLS

The chart provisions cert-manager Certificate resources by default. Disable if you terminate TLS at an upstream LB:
tls:
  enabled: false

Ingress

ingress:
  className: "nginx"
  annotations:
    kubernetes.io/ingress.class: "nginx"

Affinity & topology spread

Pre-baked anti-affinity rules ensure ingest and indexer workers spread across nodes. Override with the standard affinity: / topologySpreadConstraints: blocks in values.

Docker Compose

For pilots or single-node deployments:
curl -L https://nusomi.com/install/compose | tar xz
cd nusomi
cp .env.example .env
# edit .env — license key, postgres credentials, object-store path
docker compose up -d
Compose runs the same images as Helm, with sqlite-style local Postgres / MinIO included. Do not run Compose for production — there’s no HA, no rolling updates, no horizontal scaling.

Air-gapped install

# On a machine with internet access:
nusomi-bundle download --version 2026.5.0 --out nusomi-2026.5.0.tar.zst

# Move the tarball into the air-gapped network, then:
nusomi-bundle install \
  --bundle nusomi-2026.5.0.tar.zst \
  --registry registry.internal.acme.com/nusomi \
  --license offline-license.json
The bundle includes:
  • Signed container images (cosign-verified).
  • The Helm chart for that release.
  • The CLI binary.
  • A signed checksum manifest.

Smoke test

nusomi doctor --self-hosted https://nusomi.internal.acme.com \
  --api-key nsk_local_smoke_...
doctor runs through:
  1. TLS + DNS resolution.
  2. Auth round-trip.
  3. Frame upload + retrieval.
  4. Event emit + query.
  5. Sealing + memory-graph indexing.
  6. Replay (dry sandbox).
Each step prints PASS / FAIL with the reason. doctor is the same binary you run in CI to check upgrade health.

Upgrades

helm repo update
helm upgrade nusomi nusomi/nusomi --namespace nusomi --values my-values.yaml
The chart’s pre-upgrade hook runs migrations. For majors, the migration plan in the release notes will tell you whether you should snapshot Postgres first (almost always: yes).

Backups

Postgres + object store are the only durable stores. Use your provider’s snapshot tooling:
# Postgres
pg_dump --format=custom --file=nusomi-$(date +%Y%m%d).dump

# S3 — versioning + cross-region replication is the simplest path
aws s3api put-bucket-versioning --bucket acme-nusomi-frames \
  --versioning-configuration Status=Enabled
A reference DR runbook ships with the chart at docs/runbooks/dr.md inside the bundle.

Uninstall

helm uninstall nusomi --namespace nusomi
kubectl delete namespace nusomi
Persistent data lives in your Postgres + object store and is not touched by uninstall. Delete those manually if you want a full wipe.