Pramiti Docs
Getting Started

Installation

All deployment options — Docker Compose, Kubernetes, standalone packages

Pramiti supports multiple deployment models, from local Docker Compose to production Kubernetes clusters.

Docker Compose

One Compose file, docker-compose.yml, runs the laptop, demo and evaluation stacks. It is not a production deployment. Optional services sit behind profiles:

make retail-seed                                   # once: builds the demo seed (not tracked in git)
make up                                            # full platform: dev secrets, then docker compose up -d
docker compose --profile vkg up -d                 # + Ontop virtual knowledge graph
docker compose --profile praxom up -d              # Praxom only: PostgreSQL, no Oxigraph, no LLM (praxom_main:app, port 8012)
docker compose --profile epistom up -d             # Epistom only: PostgreSQL + Oxigraph + LLM (epistom_main:app, port 8011)
docker compose --profile flight-recorder up -d flight-recorder   # standalone Flight Recorder, SQLite, port 8080

The full platform starts PostgreSQL (port 5435), Oxigraph (7879), Redis (6380), the API (8001) and the console behind nginx (443 and 80), and loads the demo retail estate.

The standalone Flight Recorder reads these variables:

VariableDefaultDescription
FR_DATABASE_URLsqlite:////app/data/flight_recorder.dbDatabase connection string
FR_SIGNING_PRIVATE_KEY(empty)Ed25519 private key for signing records
FR_API_KEY(empty)API key for authentication
FR_PORT8080HTTP port

Docker Compose lists every service, profile, port and volume.

Kubernetes (Helm)

Production deployment uses the Helm chart in helm/epistom/:

helm install epistom ./helm/epistom \
  --namespace epistom \
  --create-namespace \
  -f helm/epistom/values.yaml

Values Files

FileUse Case
values.yamlProduction defaults
values-dev.yamlDevelopment overrides (lower resource requests, debug logging)
values-airgapped.yamlAir-gapped deployments (private registries, no external network)

Key Helm values:

# API replicas and resources
api:
  replicas: 2
  resources:
    requests:
      cpu: 500m
      memory: 512Mi

# Database connection
database:
  url: postgresql://user:pass@postgres:5432/epistom

# LLM provider
llm:
  provider: anthropic
  modelId: claude-sonnet-4-5

# Oxigraph (Epistom only)
oxigraph:
  enabled: true
  persistence:
    size: 10Gi

Standalone Python Packages

Six packages can be installed independently via pip without running the full platform:

pip install pramiti-mcp-gateway       # Free MCP security posture scanner
pip install pramiti-mcp-verify        # Offline SEP-2828 attestation verifier
pip install pramiti-flight-recorder   # Action audit trail with OCSF export
pip install pramiti-agent-finops      # Per-agent cost caps and attribution
pip install pramiti-export-copilot    # Deliver semantic models to a webhook, GitHub or GitLab
pip install pramiti-merger-reconciler # Cross-ontology class matching for M&A

Each package is zero-dependency on the Pramiti platform and can run standalone.

Environment Configuration

See Configuration for the full environment variable reference. The minimum required variables are:

# Required for any deployment
EPISTOM_DATABASE_URL=postgresql://user:pass@host:5432/dbname

# Required for Epistom (NLQ)
EPISTOM_LLM_PROVIDER=anthropic
EPISTOM_ANTHROPIC_API_KEY=your-key
EPISTOM_OXIGRAPH_ENDPOINT=http://oxigraph:7878

# Required for production
EPISTOM_AUTH_DISABLED=false
EPISTOM_JWT_SECRET=your-256-bit-hex-secret
EPISTOM_ENCRYPTION_KEY=your-fernet-key

On this page