Installation overview
edgentia is an edge-native runtime that turns a factory's raw MQTT firehose into a queryable ISA-95 asset hierarchy served through one Catalogue API. You self-host it from two public container images:
ghcr.io/edgentia-core/edgentia-core— the API (runtime pipeline + Catalogue API).ghcr.io/edgentia-core/edgentia-frontend— the platform SPA.
A small Postgres (TimescaleDB recommended) holds control-plane data and the time-series samples. That's the whole footprint: API + SPA + Postgres, plus an identity provider (Microsoft Entra ID or Keycloak).
Just want to try it? The quick-start bundles are complete, secret-free configs that bring up the whole stack plus a device simulator streaming synthetic factory data — so the catalogue fills with live values out of the box. There's a Docker Compose and a Kubernetes variant for both Keycloak and Entra. The Compose + Keycloak bundle is the fastest look: one command, no cloud account. The guides below cover a production install.
Two install paths
| Path | Best for | Guide |
|---|---|---|
| Docker Compose | a single VM / quick evaluation | Docker Compose |
| Helm | a Kubernetes cluster | Helm |
Both run the same public images and take the same configuration; only the packaging differs.
What you provide
Minimum, regardless of path:
- A public base URL (where you expose the SPA).
- A 32-byte encryption key (
SECURITY_ENCRYPTION_KEY) —openssl rand -base64 32. Encryption at rest: the app won't start without it, so secrets (broker / data-store / LLM / email credentials) are never stored with a fallback key. - A database (bundled for a quick start, or your own).
- One authentication option — Microsoft Entra ID or Keycloak.
Ingress / TLS is yours to configure. edgentia only needs to know its public URL (
APP_BASE_URL). Put your own ingress controller, load balancer, or reverse proxy in front of the SPA.
Prerequisites
- Docker path: Docker Engine + Compose v2.
- Helm path: a Kubernetes cluster, an ingress controller (e.g. Traefik or
nginx), Helm 3.8+, and a
StorageClassfor the database PVC. - Either: a place to terminate TLS for your public URL, and an Entra app registration or a Keycloak realm.
License
Install your license after first sign-in in Settings → License (paste the
signed .elic). Air-gapped installs can seed it at startup instead — see the env
var EDGENTIA_LICENSE /
EDGENTIA_LICENSE_FILE.