Requirements
What you need before installing nivq — host, runtime, datastores, registry access, an LLM provider, and a licence.
nivq ships as a single container image and runs entirely on-prem or in your own cloud. There are three supported ways to run it — pick the one that matches your platform:
- Docker Compose — a single host. The fastest way to get a working nivq, datastores included.
- Kubernetes — our Helm chart, for clustered and scaled-out deployments.
- Bare metal — the executable JAR on a plain Linux host with a Java runtime, no container engine.
Everything below applies to all three. Per-platform steps live on each page above.
Host
| Resource | Minimum | Recommended |
|---|---|---|
| OS | Linux x86-64 / arm64 | Linux x86-64 / arm64 |
| vCPU | 2 | 4+ |
| RAM | 4 GB | 8 GB+ |
| Disk | 20 GB | 50 GB+ (the audit log grows over time) |
Runtime
You need one of these, depending on how you install:
- Docker Engine 24+ with Docker Compose v2 — for the Compose path.
- A Kubernetes cluster (1.27+) with Helm 3 — for the Kubernetes path.
- A Java 25 runtime (JRE) plus
oras— for the bare-metal path. Any Java build works (Eclipse Temurin is what the official image uses);orasis a small standalone CLI used to pull the JAR from the registry.
Datastores
nivq keeps its own metadata, audit log, and pattern memory in Postgres, and uses Redis for caching and coordination. The Compose quickstart bundles both; the Kubernetes and bare-metal paths expect you to bring your own (managed or self-hosted):
- PostgreSQL 16+ with the
pgvectorextension. Thepgvector/pgvectorimage ships it ready to go; a managed Postgres works too, as long as thepgvectorextension is available. - Redis 7+, or Valkey. nivq speaks the standard Redis protocol, so Valkey (the BSD-licensed Redis fork) is a drop-in replacement.
Registry access
nivq is a private image — you pull it from ghcr.io/nivorbit/images/nivq with a token. Log in before pulling:
echo "<token>" | docker login ghcr.io -u <username> --password-stdinNo token yet? Ask the Nivorbit team, or email [email protected] — it comes with your deployment access.
Air-gapped, with no registry access? You'll get the image as a .tar file to load directly — no login needed:
docker load -i nivq-0.2.4.tarAn LLM provider
Every agent reasons with an LLM, and nivq runs lightweight internal tasks on a platform-managed provider you set once at deploy time. You need one of:
- An API key for a hosted provider — OpenAI, Anthropic, or Azure OpenAI, or
- A local model via Ollama for fully air-gapped deployments.
Per-agent providers are configured later in the app; the platform one is set via environment variables (see Configuration).
A licence
Every deployment runs under a signed licence. You can either:
- receive a licence file from Nivorbit ahead of time and seed it at startup, or
- start unlicensed — nivq boots activation-pending, and you upload the licence once on first run.
Either way, see Licensing & activation.
Network
- Hosted LLM: outbound HTTPS to the provider is required.
- Databases behind a firewall: whitelist nivq's outbound IPs (see
NIVQ_OUTBOUND_IPSin Configuration). - Air-gapped: run a local Ollama model and, if policy forbids any vendor-initiated DB connection, use MCP-native mode — nivq then makes no outbound calls of its own.