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):
| Variable | Required | Description |
|---|---|---|
| DATABASE_URL | Yes | PostgreSQL connection string |
| ANTHROPIC_API_KEY | Yes* | Claude API key (or use OpenAI) |
| OPENAI_API_KEY | Yes* | GPT-4 API key (or use Anthropic) |
| LICENSE_KEY | Yes | Your Ed25519-signed license key |
| ADMIN_EMAIL | Yes | Admin login email |
| ADMIN_PASSWORD | Yes | Admin login password |
| ENCRYPTION_KEY | Yes | 32-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
- Health check:
GET /api/health→ 200 - Login with your admin credentials
- Navigate to Connections → Add your first database
- 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)