docs

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

PathBest forGuide
Docker Composea single VM / quick evaluationDocker Compose
Helma Kubernetes clusterHelm

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 optionMicrosoft 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 StorageClass for 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.