Skip to content

On-Prem

The on-prem version of elsai ARMS runs entirely inside your infrastructure. Same SDK and monitoring API as SaaS — you host the backend, database, and dashboard.

Same SDK

Identical elsai-arms package from the on-prem index; set API_BASE_URL to your deployment.

Your data

Metrics stored in MongoDB, DynamoDB, ClickHouse, or SQLite inside your VPC.

Self-hosted dashboard

React frontend and FastAPI backend you deploy under your own domain.

Agentkit

Full agent tracing including arms.elsai_agents_hook (on-prem only).

Key characteristics

Detail
DeploymentDocker Compose or Kubernetes
DatabaseMongoDB, DynamoDB, ClickHouse, or SQLite (your instance)
ConfigurationELSAI_ARMS_API_KEY, API_BASE_URL, ARMS_MASTER_KEY (license key), plus database vars
SDK versionelsai-arms==2.3.0 (on-prem index)

When to choose on-prem

Data residency

Metrics and traces stay inside your VPC, region, or country.

Air-gapped environments

Internal-only networks with no public-internet egress.

Compliance

Self-hosted deployments with your audit and access controls.

Agentkit tracing

Graph, Swarm, and nested as_tool span trees via the agents hook.

Frontend dashboard and backend

Frontend Dashboard

React

Real-time monitoring, analytics, user management, and custom dashboards for your elsai ARMS deployment.

Backend API

FastAPI

RESTful APIs for monitoring operations, data processing, and dashboard authentication.

Quick start

Start the backend

bash
python app.py

Start the frontend

bash
npm start

Access the dashboard

Open http://localhost:3000 in your browser.

Docker setup

MongoDB

yaml
version: '3.12'
services:
  mongodb:
    image: mongo:latest
    container_name: elsai-arms-mongodb
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: password
    volumes:
      - mongodb_data:/data/db

  elsai-arms:
    build: .
    container_name: elsai-arms-app
    depends_on:
      - mongodb
    environment:
      - MONGO_URI=mongodb://admin:password@mongodb:27017
      - MONGO_DB_NAME=arms-metrics
      - ELSAI_ARMS_API_KEY=${ELSAI_ARMS_API_KEY}

volumes:
  mongodb_data:

DynamoDB Local

yaml
version: '3.12'
services:
  dynamodb-local:
    image: amazon/dynamodb-local:latest
    container_name: elsai-arms-dynamodb
    ports:
      - "8000:8000"
    command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"

  elsai-arms:
    build: .
    container_name: elsai-arms-app
    depends_on:
      - dynamodb-local
    environment:
      - AWS_ACCESS_KEY_ID=dummy
      - AWS_SECRET_ACCESS_KEY=dummy
      - AWS_REGION=us-east-1
      - DYNAMODB_TABLE_NAME=arms-metrics
      - ELSAI_ARMS_API_KEY=${ELSAI_ARMS_API_KEY}

ClickHouse

yaml
version: '3.12'
services:
  clickhouse:
    image: clickhouse/clickhouse-server:latest
    container_name: elsai-arms-clickhouse
    ports:
      - "8123:8123"
      - "9000:9000"
    environment:
      CLICKHOUSE_DB: arms
      CLICKHOUSE_USER: default
      CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
      CLICKHOUSE_PASSWORD: clickhouse123
    volumes:
      - clickhouse_data:/var/lib/clickhouse

  elsai-arms:
    build: .
    container_name: elsai-arms-app
    depends_on:
      - clickhouse
    environment:
      - CLICKHOUSE_HOST=clickhouse
      - CLICKHOUSE_PORT=8123
      - CLICKHOUSE_USERNAME=default
      - CLICKHOUSE_PASSWORD=clickhouse123
      - CLICKHOUSE_DATABASE=arms
      - ELSAI_ARMS_API_KEY=${ELSAI_ARMS_API_KEY}

volumes:
  clickhouse_data:

SQLite

SQLite does not require a separate Docker service. Configure only the ARMS backend and mount a volume so the database file persists across restarts:

yaml
version: '3.12'
services:
  elsai-arms:
    build: .
    container_name: elsai-arms-app
    environment:
      - SQLITE_DB_PATH=/data/arms.db
      - ELSAI_ARMS_API_KEY=${ELSAI_ARMS_API_KEY}
    volumes:
      - sqlite_data:/data

volumes:
  sqlite_data:

Sample .env file

bash
ELSAI_ARMS_API_KEY=arms-1234567890abcdef
API_BASE_URL=http://localhost:8001
ARMS_MASTER_KEY=your-master-key

# MongoDB (choose one backend)
MONGO_URI=mongodb://localhost:27017
MONGO_DB_NAME=arms-metrics

# OR SQLite (choose one backend)
# SQLITE_DB_PATH=/data/arms.db

See Configuration for the full variable reference.

Contact

Ready to bring order to your AI ecosystem? Contact us to schedule a demonstration of how elsai ARMS can transform your AI governance and monitoring capabilities.

Next steps

Copyright © 2026 elsai foundry.