Introducing Confident Monitor

Self-Hosted POC Environments

Included on the Enterprise plan. Book a demo, opens in a new tab. Not included on the Team plan. Not included on the Starter plan. Not included on the Free plan.

A POC (proof-of-concept) runs the entire Confident AI stack on a single machine with Docker Compose, using the confident-compose repository. It bundles the app together with its Postgres, Redis, ClickHouse, and object storage, so you can try the product against your own data before provisioning any cloud infrastructure.

Requirements

The whole stack, including ClickHouse and Postgres, runs on one host, so size the machine for all of it:

ResourceMinimumRecommended
CPU16 vCPU32 vCPU
Memory64 GB128 GB
Disk100 GB SSD200 GB SSD
Architecturex86_64x86_64
OSUbuntu 22.04 LTS or 24.04 LTSUbuntu 22.04 LTS or 24.04 LTS

Matching machine types on each cloud:

CloudMinimumRecommended
AWSm6i.4xlarge (16 vCPU, 64 GB)m6i.8xlarge (32 vCPU, 128 GB)
GCPn2-standard-16 (16 vCPU, 64 GB)n2-standard-32 (32 vCPU, 128 GB)
AzureStandard_D16s_v5 (16 vCPU, 64 GB)Standard_D32s_v5 (32 vCPU, 128 GB)

You also need:

  • A host with Docker and Docker Compose: a laptop, a VM, or an on-prem server.
  • From Confident AI: access to the confident-compose repository, credentials to pull the container images, and a CONFIDENT_LICENSE_KEY. Ask the platform team for all three.
  • An LLM provider key (for example OPENAI_API_KEY) if you want to run evaluations.
Find your self-hosting path in < 15 minutesExplore deployment options and get a tailored walkthrough of architecture, security, and rollout for your environment.Book a demo

Deploy

  1. Clone confident-compose

    Once Confident AI has granted access:

    git clone https://github.com/confident-ai/confident-compose
    cd confident-compose
  2. Configure the environment

    Copy the example environment file and fill it in:

    cp .env.example .env

    Set your CONFIDENT_LICENSE_KEY, your LLM provider key, and the image registry login Confident AI gave you. The repository README lists every variable and its default.

  3. Start the stack

    docker compose up -d

    This brings up the app along with Postgres, Redis, ClickHouse, and object storage on the single host. Give it a minute to become healthy:

    docker compose ps
  4. Open the app

    Open http://localhost:3000 and sign in. To reach it from elsewhere, put it behind your existing VPN or an internal load balancer.

Set base URL to your deployment

Compose exposes the backend on port 3001 and the OTEL collector on port 4318 of the POC host, so with the stack running on <IP>:

export CONFIDENT_API_KEY="<key-from-your-poc>"
export CONFIDENT_BASE_URL="http://<IP>:3001"
export CONFIDENT_OTEL_ENDPOINT="http://<IP>:4318/v1/traces"

CONFIDENT_BASE_URL covers everything the SDK and the Confident API send (test runs, datasets, prompts, evaluations), and CONFIDENT_OTEL_ENDPOINT covers trace ingestion. If you export traces with the OpenTelemetry SDK directly rather than through confident-trace, point OTEL_EXPORTER_OTLP_ENDPOINT at the same collector:

export OTEL_EXPORTER_OTLP_ENDPOINT="http://<IP>:4318"

Once a POC becomes a cloud deployment, the same variables point at the api. and otel. subdomains you configured in config.backendUrl and ingress.hosts.otel:

export CONFIDENT_BASE_URL="https://api.yourdomain.com"
export CONFIDENT_OTEL_ENDPOINT="https://otel.yourdomain.com/v1/traces"

Limitations

A POC trades production hardening for speed:

  • No high availability. One host, no failover, no redundancy.
  • Datastores are not production-grade. Postgres, Redis, and ClickHouse run as single containers with no backups or replication.
  • No persistence guarantees. Data lives with the containers unless you configure volumes.
  • Reduced surface. Managed secrets, managed Redis, and the cloud code executor are not part of a Compose setup.

Moving to production

When the POC has proven the fit, deploy on your cloud. Each guide provisions managed Kubernetes, a managed database, backed-up storage, keyless identity, and horizontal scaling.

Last updated on

Built byConfident AI