Minimum Requirements
Docker Compose (local development)
- 4 CPU cores, 16 GB RAM, 50 GB disk
- Suitable for evaluation and small teams (< 5 users)
Kubernetes (production)
- Minimum 3 nodes with 4 CPU, 16 GB each
- StorageClass that supports dynamic provisioning
- See size profiles below for detailed per-component requirements
Component Resource Defaults
These are the default resource requests and limits from the Helm chart (values.yaml):
ClickHouse auto-tunes internal parameters (memory limits, thread pools, merge settings) based on the CPU and memory you allocate. You only need to set
clickhouse.cpu and clickhouse.memory.Size Profiles
The Helm chart ships with composable overlay files inexamples/overlays/. Use them with helm install -f:
Every figure below is requests/limits as the chart renders it, and the totals are the sum of requests across all replicas. They include the AI Gateway and Langy, which run by default and are a real part of what your cluster has to fit.
Development (size-dev.yaml)
For development, demos and small teams.
- LangWatch App: 1 replica, 250m/1 CPU, 1Gi/3Gi memory
- LangWatch Workers: 1 replica, 250m/1 CPU, 768Mi/2Gi memory
- LangWatch NLP: 1 replica, 100m/500m CPU, 512Mi/1Gi memory
- LangEvals: 1 replica, 100m/500m CPU, 768Mi/4Gi memory
- AI Gateway: 1 replica, 200m/1 CPU, 256Mi/512Mi memory
- Langy: 1 replica, 500m/2 CPU, 1Gi/4Gi memory
- ClickHouse: 1 CPU, 2Gi memory, 5Gi storage
- PostgreSQL: 100m/500m CPU, 256Mi/512Mi memory, 2Gi storage
- Redis: 50m/250m CPU, 64Mi/256Mi memory, 1Gi storage
- Prometheus: 50m/250m CPU, 128Mi/512Mi memory
- Total: ~2.6 CPU, ~6.7 Gi RAM requests
examples/values-local.yaml is the same sizing without Prometheus (~2.6 CPU, ~6.6 Gi), bundled with NodePort access and images pinned to a locally built local tag. That last part makes it Kind-only: see Local Kubernetes.
Minimal (size-minimal.yaml)
The smallest configuration the platform still boots in. Trims the app, NLP, PostgreSQL and Redis further and drops ClickHouse to 1Gi.
- Total: ~2.4 CPU, ~4.9 Gi RAM requests
Production (size-prod.yaml)
For production with single-node ClickHouse.
- LangWatch App: 2 replicas, 500m/2 CPU, 2Gi/4Gi memory, PDB minAvailable 1
- LangWatch Workers: 2 replicas, 500m/2 CPU, 2Gi/4Gi memory
- LangWatch NLP: 1 replica, 250m/1 CPU, 256Mi/1Gi memory
- LangEvals: 1 replica, 1/2 CPU, 4Gi/8Gi memory
- AI Gateway: 1 replica, 200m/1 CPU, 256Mi/512Mi memory
- Langy: 1 replica, 500m/2 CPU, 1Gi/4Gi memory
- ClickHouse: 4 CPU, 8Gi memory, 100Gi storage
- PostgreSQL: 250m/1 CPU, 512Mi/1Gi memory, 20Gi storage
- Redis: 250m/500m CPU, 256Mi/512Mi memory, 5Gi storage
- Prometheus: 200m/500m CPU, 512Mi/2Gi memory, 30d retention, 20Gi storage
- Total: ~8.7 CPU, ~22.8 Gi RAM requests
High Availability (size-ha.yaml)
For production with replicated ClickHouse.
- LangWatch App: 3 replicas, 1/2 CPU, 4Gi/4Gi memory, PDB minAvailable 2
- LangWatch Workers: 3 replicas, 1/2 CPU, 4Gi/4Gi memory, PDB minAvailable 2
- LangWatch NLP: 2 replicas, 250m/1 CPU, 256Mi/1Gi memory
- LangEvals: 2 replicas, 1/2 CPU, 4Gi/8Gi memory
- AI Gateway: 1 replica, 200m/1 CPU, 256Mi/512Mi memory
- Langy: 1 replica, 500m/2 CPU, 1Gi/4Gi memory
- ClickHouse: 3 nodes, 4 CPU, 16Gi memory, 300Gi storage each
- ClickHouse Keeper: 3 nodes, 250m/1 CPU, 512Mi/1Gi memory
- PostgreSQL: 250m/1 CPU, 512Mi/1Gi memory, 50Gi storage
- Redis: 250m/500m CPU, 256Mi/512Mi memory, 10Gi storage
- Prometheus: 200m/500m CPU, 512Mi/2Gi memory, 60d retention, 50Gi storage
- Total: ~22.7 CPU, ~84.5 Gi RAM requests
Scaling Guidelines
What to scale first
Horizontal Pod Autoscaler (HPA)
Storage Sizing
ClickHouse hot storage
- ~1 KB per span (compressed, varies with payload size)
- 100K traces/day with avg 5 spans = ~500 MB/day = ~15 GB/month
- 1M traces/day with avg 5 spans = ~5 GB/day = ~150 GB/month
- Plan for 3-6 months of hot data before cold storage kicks in
ClickHouse cold storage (S3)
- Enable with
clickhouse.cold.enabled: true - Default TTL: 49 days (data older than this moves to S3). We recommend multiples of 7 to align with ClickHouse’s weekly partition boundaries
- S3 cost is typically 10-20x cheaper than SSD storage
PostgreSQL
- Grows slowly --- metadata only (users, projects, configurations)
- 10-20 GB is sufficient for most deployments
Redis
- Minimal storage --- job queue and cache only
- 1-5 GB is sufficient