Deployment Guide

Deploy inferonIQ in your infrastructure. Single Docker image, multiple deployment targets.

Prerequisites

  • Docker 24+ (or Kubernetes 1.26+)
  • PostgreSQL 15+ with pgvector extension
  • 2 vCPU / 4 GB RAM minimum (4 vCPU / 8 GB recommended)
  • AI provider API key (Anthropic and/or OpenAI)
  • Valid inferonIQ license key

Option 1: Docker Compose (On-Premises)

Fastest way to deploy. Single command, includes PostgreSQL + pgvector.

# Pull and start
curl -O https://releases.inferonIQ.com/docker-compose.yml
docker compose up -d

# Check health
curl http://localhost:3000/api/health

# Activate license
curl -X POST http://localhost:3000/api/license/activate \
  -H "Content-Type: application/json" \
  -d '{"key": "LIC-your-key-here"}'

Environment variables (set in .env):

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string
ANTHROPIC_API_KEYYes*Claude API key (or use OpenAI)
OPENAI_API_KEYYes*GPT-4 API key (or use Anthropic)
LICENSE_KEYYesYour Ed25519-signed license key
ADMIN_EMAILYesAdmin login email
ADMIN_PASSWORDYesAdmin login password
ENCRYPTION_KEYYes32-byte hex for credential encryption

* At least one AI provider key is required.

Option 2: AWS (ECS Fargate)

Production deployment with auto-scaling, RDS, and S3.

cd deploy/terraform/aws
terraform init
terraform plan -var="license_key=LIC-..." -var="anthropic_key=sk-..."
terraform apply

Creates: ECS cluster, RDS PostgreSQL, ALB, S3 bucket, CloudWatch logs, ACM certificate.

Option 3: Azure (Container Apps)

cd deploy/terraform/azure
terraform init
terraform plan -var="license_key=LIC-..."
terraform apply

Creates: Container App, Azure Database for PostgreSQL, Blob Storage, Application Insights.

Option 4: GCP (Cloud Run)

cd deploy/terraform/gcp
terraform init
terraform plan -var="license_key=LIC-..."
terraform apply

Creates: Cloud Run service, Cloud SQL (PostgreSQL), Cloud Storage, Cloud Logging.

Option 5: Kubernetes (Helm)

helm repo add inferonIQ https://charts.inferonIQ.com
helm install inferonIQ inferonIQ/inferonIQ \
  --set license.key="LIC-..." \
  --set ai.anthropicKey="sk-..." \
  --set database.url="postgresql://..." \
  --namespace inferonIQ --create-namespace

Database Migrations

Migrations run automatically on container startup. For manual control:

# Run pending migrations
docker exec inferonIQ-app npx tsx scripts/deploy-migrations.ts

# Check migration status
docker exec inferonIQ-app npx tsx scripts/deploy-migrations.ts --status

Post-Deployment Verification

  1. Health check: GET /api/health → 200
  2. Login with your admin credentials
  3. Navigate to Connections → Add your first database
  4. Ask a question in NL2SQL to verify end-to-end

SSL / TLS

inferonIQ listens on port 3000 (HTTP). Place behind a reverse proxy (nginx, Caddy, ALB, Cloud Load Balancer) for TLS termination. All Terraform modules auto-configure TLS via cloud-native certificate managers.

Monitoring

  • Health endpoint: /api/health — use for load balancer health checks
  • Metrics: Structured JSON logs to stdout (integrate with Datadog, Splunk, CloudWatch)
  • Phone-home: BYOC deployments send hourly heartbeats to the license server (connectivity status visible in admin dashboard)