Install & self-host
Install LensAI with lensai-integration Compose or infra-ai-streaming Compose/Helm. No fake unified image.
What you can run today is the LensAI observability stack — Compose via lensai-integration, or Compose / Helm / k3d via infra-ai-streaming. There is no shipped suite-wide inferix:latest control-plane image.
Requirements
- Docker with enough RAM for the full stack (plan ~8 GB+ for streaming E2E)
- For Kubernetes E2E in streaming:
k3d,helm,kubectl - Optional build toolchain for streaming from source: Rust 1.88+, Go 1.22+, cmake
Path A — lensai-integration (recommended first run)
One Compose file wires ingest, consumer, flagd, Redpanda, ClickHouse, Grafana.
git clone https://github.com/AkshantVats/lensai-integration.git
cd lensai-integration
make build
make up
make smoke
# Grafana → http://localhost:3000 (admin / admin)| Service | Port | Notes |
|---|---|---|
| Grafana | :3000 | LensAI — Overview dashboard |
| lensai-ingest | :8080 | HTTP ingest + health |
| distributed-flagd | :8081 / :50051 | Flags HTTP + gRPC |
| Prometheus | :9090 | Metrics scrape |
| ClickHouse | :8123 / :9000 | Event warehouse |
| Redpanda | :9092 | Kafka-compatible broker |
Details and real-eBPF notes: lensai-integration README.
Path C — inferix unified orchestrator (run-inferix.sh)
Full Inferix profile: LensAI + inferix-api + inferix-ui console + TraceForge + RouteIQ + DriftWatch + FineForge services.
# Workspace root with inferix/ and sibling repos (see inferix README)
./run-inferix.sh --full
# Contract + closed-loop checks (from inferix repo):
make -C inferix contract-test
SEED=1 make -C inferix closed-loop-e2e| Service | Port | Notes |
|---|---|---|
| inferix-ui (console) | :3003 | Next.js console + API proxy |
| inferix-api | :4000 | Control-plane MVP |
| lensai-ingest | :8080 | Event ingest |
| RouteIQ proxy | :8090 | /v1/route |
| RouteIQ scorer | :8092 | Kafka judge-requests consumer (stub judge without API keys) |
| MinIO | :19000 | Shadow eval archive (host port; ClickHouse uses :9000) |
Canonical compose: inferix/docker-compose.yml merged with inferix/quickstart/docker-compose.yml. Do not use per-repo lensai-integration paths when following closed-loop docs — use this orchestrator.
Path B — infra-ai-streaming (Compose / Helm / k3d)
Config-driven entry point. Profiles: m1 (default, Apple Silicon / low RAM), dev, default, k3d.
git clone https://github.com/AkshantVats/inferix-lensai-streaming.git
cd infra-ai-streaming
# Full k3d E2E (default)
./scripts/run.sh --profile m1
# Docker Compose only
./scripts/run.sh --profile m1 --target compose
# Custom Helm values
cp deploy/helm/lensai/values.example.yaml deploy/helm/lensai/values.mycluster.yaml
./scripts/run.sh --values deploy/helm/lensai/values.mycluster.yaml --target helmHelm chart: deploy/helm/lensai/. Compose env: deploy/compose/. Ports and troubleshooting: deploy/README.md. E2E proof: docs/E2E-PROOF-K3D.md.
Compose-only tip: after stack up, run ingestion + consumer on the host as documented in the streaming README, then open Grafana at http://localhost:3000.
What is not an install path
Design target / not shipped
docker pull ghcr.io/akshantvats/inferix:latest— no published suite image under that name as a shipped factinferix:1.0.0Kubernetes Deployment sketches as if a release exists- Env vars like
INFERIX_MASTER_KEY/ listen:4000for a unified control plane — target API shape, not current install
Track product maturity on Status & maturity. Suite map: https://github.com/AkshantVats/inferix.