System requirements
Agent Access Manager ships as a single container image plus an install bundle. You do not build from source: you pull the published image (or load an offline tarball) and run an installer that generates all secrets for you. This page lists what the host needs before you run it.
Software
| Requirement | Detail |
|---|---|
| Container runtime | Docker Engine with Docker Compose v2, for Standalone and single-host Distributed deployments |
| Kubernetes (multi-machine only) | A supported Kubernetes cluster and Helm, using the chart shipped in the bundle (deploy/helm/aimanager) |
| Operating system | Any Linux host that runs Docker Engine. On Windows, a PowerShell installer (install.ps1) is a faithful port of the Linux installer — no bash, WSL, or openssl needed |
| Browser | A current evergreen browser for the dashboard |
Every edition bundles its own PostgreSQL, nginx edge, and Keycloak — you do not need to provide a database or an identity provider to get started, though you can bring your own IdP (see Enterprise SSO).
Network
- A DNS hostname that resolves to the host or load balancer (for example
aam.example.com). Do not use barelocalhost— inside a container it resolves to the container itself, which breaks the bundled SSO. For a single box or LAN evaluation, the installer defaults tohttp://<hostname>:8080, which works with no DNS or TLS setup. - One published port (default
8080) on the nginx edge. All traffic — dashboard, Admin API, and the/v1data plane — enters here. - Outbound access to only the model providers you register (OpenAI, Anthropic, Gemini, Vertex, or your self-hosted model servers) and, at install time, the image registry. A fully air-gapped install uses the offline image tarball (
docker load -i aimanager-<version>.tar) and self-hosted models. - TLS terminates either at your existing load balancer / ingress (recommended — forward
X-Forwarded-Proto: httpsto the appliance) or in the bundled nginx with your own certificate. The appliance itself does not require a public CA; an internal CA is the norm on-prem. See Installation — HTTPS. - SMTP server (optional, per-org) if you want emailed notifications and reports. Webhooks and in-app notifications need no mail server.
Sizing
The footprint is set by which edition you run — chiefly whether OpenSearch (SIEM) and the AI guardrail sidecars are on. These are recommended starting points for a production single host; scale up with sustained traffic.
| Edition | What runs | vCPU | RAM | Disk |
|---|---|---|---|---|
| Lite / Base | app, PostgreSQL, nginx, Keycloak | 2 | 4 GB | 20 GB SSD |
| Pro | + OpenSearch (SIEM, audit store) | 4 | 8 GB | 50 GB SSD, grows with audit retention |
| Pro AI | + Presidio and a Llama Guard-class model (local inference) | 8 | 16 GB | 60 GB SSD |
| Distributed | N app replicas + load balancer, shared PostgreSQL, Valkey, OpenSearch, S3-compatible object store | per replica: 2 vCPU / 2 GB | sized per component | sized per component |
Notes that matter at sizing time:
- The data plane is stateless. Gateway throughput scales horizontally by adding app replicas; state lives in PostgreSQL (config), Valkey (hot counters, Distributed only), and OpenSearch (audit/SIEM, Pro and up).
- Audit growth is proportional to call volume. On Lite/Base the audit trail lives in PostgreSQL (month-partitioned); on Pro and up OpenSearch is the audit system of record, with native retention policies and optional snapshot archival to a filesystem or any S3-compatible store.
- First boot takes 1–2 minutes: Keycloak initializes its database before it can serve sign-ins, and the app waits for it. A few app restarts in the logs during this window are expected and self-heal.
- Report artifacts are stored outside the database — a local directory on a single host, or any S3-compatible store (MinIO, SeaweedFS, AWS S3, R2) when running multiple replicas. Objects are AES-256-GCM encrypted at rest.
What to have ready before installing
- The host (or cluster) provisioned as above, with Docker running.
- The image reference and registry credentials from your AethosHub delivery channel, or the offline tarball.
- The public URL you intend to serve on — changing it later requires re-importing the SSO realm or editing redirect URIs, so pick it deliberately.
- Master API keys for at least one model provider, or a reachable self-hosted model server.
Then continue to Installation.