Documentation

Self-Hosting

Deploy your own Cognigate instance — Docker, Kubernetes, or cloud.

Overview

Cognigate is fully open-source (Apache 2.0) and designed to be self-hosted. Run the governance engine in your own infrastructure with full control over data and configuration.

Deployment Options

OptionBest ForComplexity
Docker ComposeSmall deployments, developmentLow
KubernetesProduction, high availabilityMedium
AWS ECS/FargateAWS-native teamsMedium
Google Cloud RunServerless, auto-scalingLow
Azure Container AppsAzure-native teamsMedium

Quick Start: Docker Compose

# Clone the repository
git clone https://github.com/vorionsys/vorion.git
cd vorion/apps/cognigate-api

# Start with Docker Compose
docker compose up --build

# Verify
curl http://localhost:8000/health

Production Docker Compose

# docker-compose.prod.yaml
version: '3.8'

services:
  cognigate:
    image: vorionsys/cognigate:latest
    ports:
      - "8000:8000"
    environment:
      - COGNIGATE_ENVIRONMENT=production
      - COGNIGATE_HOST=0.0.0.0
      - COGNIGATE_PORT=8000
      - TRUST_PROVIDER=agentanchor
      - DATABASE_URL=postgresql://cognigate:$DB_PASSWORD@postgres:5432/cognigate
      - REDIS_URL=redis://redis:6379/0
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started

  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: cognigate
      POSTGRES_USER: cognigate
      POSTGRES_PASSWORD: $DB_PASSWORD
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-LINE", "pg_isready -U cognigate"]
      interval: 5s

  redis:
    image: redis:7-alpine
    command: redis-server --maxmemory 256mb --maxmemory-policy allkeys-lru

volumes:
  pgdata:

Environment Variables

VariableDefaultDescription
COGNIGATE_ENVIRONMENTdevelopmentRuntime environment
COGNIGATE_PORT8000Server port
TRUST_PROVIDERlocalTrust score provider (local, agentanchor, custom)
DATABASE_URLPostgreSQL connection string
REDIS_URLRedis connection string
INTENT_PROVIDERopenaiLLM provider for intent parsing
OPENAI_API_KEYRequired if using OpenAI intent provider

See the full Configuration Reference for all environment variables.

Health Checks

# Basic health
curl http://localhost:8000/health

# Detailed status
curl http://localhost:8000/status

Next Steps