Requirements
Premora Core runs as a single-box Docker Compose stack — the omnibus image plus a few sidecars. There is no Kubernetes, Helm, or cluster to operate. One deployment serves one enterprise customer.
Host
A single Linux host (a VM in your VPC is typical) with:
- Docker Engine (or Docker Desktop for evaluation)
- Docker Compose v2 (the
docker composesubcommand) - enough resources for the workload — start with 8 vCPU / 16 GB RAM / 100 GB disk and size up for large corpora
- outbound HTTPS to
dist.premora.devfor connected installs, or offline media for air-gap
Validate the host at any time:
premora doctor
That's the whole prerequisite list. kubectl, helm, and a cluster are not required.
What runs on the box
premora core install brings these up with Docker Compose:
| Service | Role |
|---|---|
| omnibus | Every Premora business service (identity, connectors, ingest, knowledge, search, analyst workbench, audit) co-booted in one process. |
| api-gateway | The single public entry point; terminates auth and proxies to the omnibus. |
| web + BFFs | The Nuxt web client and its backends. |
| PostgreSQL | Operational state, one logical database per service. |
| MinIO | Object storage for raw source blobs. |
| RabbitMQ | Durable background workflows and events. |
A one-shot migrate step applies all database migrations before the omnibus starts.
Optional add-ons
- Vector search — search defaults to keyword/Postgres; an OpenSearch/Qdrant vector store can be added for semantic retrieval.
- Premora Inference — a separate GPU host that fronts
vLLMfor private on-prem inference. It runs on its own machine; if you use a customer-provided model endpoint, it is not required.
Network & supply chain
Premora installs from signed, versioned artifacts — never source checkouts:
- Connected — pull the installer and the license-gated bundle from
dist.premora.devover HTTPS. - On-prem mirror — mirror the distribution host internally and point the CLI at it.
- Air-gapped — read the installer binary and the bundle from offline media (USB).
Customer environments never need GitHub, GHCR, or npm credentials. Choose the model that matches your egress policy, then continue to Installation.