Deploy your own Cognigate instance — Docker, Kubernetes, or cloud.
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.
| Option | Best For | Complexity |
|---|---|---|
| Docker Compose | Small deployments, development | Low |
| Kubernetes | Production, high availability | Medium |
| AWS ECS/Fargate | AWS-native teams | Medium |
| Google Cloud Run | Serverless, auto-scaling | Low |
| Azure Container Apps | Azure-native teams | Medium |
# 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
# 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:
| Variable | Default | Description |
|---|---|---|
COGNIGATE_ENVIRONMENT | development | Runtime environment |
COGNIGATE_PORT | 8000 | Server port |
TRUST_PROVIDER | local | Trust score provider (local, agentanchor, custom) |
DATABASE_URL | — | PostgreSQL connection string |
REDIS_URL | — | Redis connection string |
INTENT_PROVIDER | openai | LLM provider for intent parsing |
OPENAI_API_KEY | — | Required if using OpenAI intent provider |
See the full Configuration Reference for all environment variables.
# Basic health
curl http://localhost:8000/health
# Detailed status
curl http://localhost:8000/status