Pramiti Docs

Installation

All deployment options — Docker Compose, Kubernetes, standalone packages

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

Docker Compose Profiles

Six compose files cover different deployment scenarios:

Full Platform

docker compose up -d

Starts everything: PostgreSQL (port 5435), Oxigraph (port 7879), API server (port 8001), and the demo SaaS database with seed data. The demo schema includes customers, subscriptions, invoices, and support tickets.

Optional VKG (Virtual Knowledge Graph) profile with Ontop:

docker compose --profile vkg up -d

Aegis Only

docker compose -f docker-compose.aegis.yml up -d

Requires PostgreSQL only. No Oxigraph, no LLM. Runs database migrations for the platform and Aegis schemas, then starts the API server with aegis_main:app. This is the lightest deployment for teams that only need action validation.

Epistom Only

docker compose -f docker-compose.epistom.yml up -d

Requires PostgreSQL and Oxigraph. Needs LLM credentials in .env.local. Starts the API server with epistom_main:app for semantic intelligence without the Aegis write plane.

Flight Recorder Standalone

docker compose -f docker-compose.flight-recorder.yml up -d

A single container with no external dependencies. Uses SQLite by default (configurable to PostgreSQL). Runs on port 8080. Environment 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

Development

docker compose -f docker-compose.dev.yml up -d

Hot-reload configuration for local development with volume mounts to the source directory.

Testing

docker compose -f docker-compose.test.yml up -d

Ephemeral containers for CI/CD pipelines, typically used with pytest.

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

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

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   # Push semantic models to dbt/Snowflake/Looker
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