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:
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:
- TLS + DNS resolution.
- Auth round-trip.
- Frame upload + retrieval.
- Event emit + query.
- Sealing + memory-graph indexing.
- 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.