The AI-Q blueprint supports multiple deployment methods. Choose the one that best fits your environment and operational requirements.
| Method | Best For | Prerequisites |
|---|---|---|
| Docker Compose | Local development, team demos, single-node deployments | Docker Engine, Docker Compose v2 |
| Kubernetes (Helm) | Multi-node clusters, production | Kubernetes cluster, Helm v3.x |
| Manual (no containers) | Development and debugging | Python 3.11--3.13, system dependencies (refer to Installation) |
All containerized deployments run the same three services:
- Backend (
aiq-agent) -- FastAPI server with an embedded Dask scheduler and worker for background job processing. - Frontend (
aiq-blueprint-ui) -- Next.js web UI that communicates with the backend API. - Database (
postgres) -- PostgreSQL instance for async job storage, LangGraph checkpoints, and document summaries.
-
Docker Compose -- Full Docker Compose reference covering environment setup, the standard LlamaIndex stack, Foundational RAG (FRAG) integration, database configuration, and troubleshooting.
-
Kubernetes (Helm) -- Helm chart deployment for Kubernetes clusters, including NGC image pull secrets, configuration switching, FRAG integration, and troubleshooting.
-
Docker Build System -- Multi-stage Dockerfile architecture, build targets (dev vs. release), base images, and startup scripts (
entrypoint.pyandstart_web.py). -
Authentication -- Enable OAuth/OIDC sign-in, configure backend JWT validation, and use AIQ user tokens in tools and MCP pass-through integrations.
-
Observability -- Tracing and monitoring with Phoenix, LangSmith, Weave, and OpenTelemetry.
-
Production Considerations -- Guidance on managed databases, horizontal scaling, security hardening, monitoring, and resource requirements.
For the fastest path to a running stack:
# 1. Configure environment
cp deploy/.env.example deploy/.env
# Edit deploy/.env with your API keys
# 2. Start services
cd deploy/compose
docker compose --env-file ../.env -f docker-compose.yaml up -d --buildOpen http://localhost:3000 to access the web UI.