Deployment Overview
Deploy TestMesh with Docker, Kubernetes, or connect to existing infrastructure. Run site agents for private networks or use TestMesh Cloud.
TestMesh ships as a single Go binary (API) and a Next.js dashboard. You can run it fully self-hosted, use TestMesh Cloud with site agents in your private network, or mix both.
Docker Setup
Run TestMesh locally or in production with Docker Compose.
Kubernetes & Helm
Deploy to Kubernetes using the TestMesh Helm chart.
External Services
Connect to managed PostgreSQL, Redis, and Kafka.
Site Agent
Run flows against private services behind firewalls.
Cloud vs Self-Hosted
Compare deployment models and feature tiers.
Docker Compose Files
TestMesh provides four Docker Compose files, each suited to a different use case.
| File | Purpose | Includes |
|---|---|---|
docker-compose.yml | Production / distribution | API + Dashboard only |
docker-compose.dev.yml | Full local development | Everything bundled |
docker-compose.infra.yml | Infrastructure only | PostgreSQL + Redis + Kafka |
docker-compose.services.yml | Demo microservices | 4 demo services |
When to Use What
If you already have PostgreSQL and Redis running — whether locally or in the cloud — start with docker-compose.yml. It expects external infrastructure and only runs the TestMesh API and dashboard.
| Situation | Command |
|---|---|
| I have my own PostgreSQL and Redis | docker-compose up -d |
| I want everything bundled (learning / demos) | docker-compose -f docker-compose.dev.yml up -d |
| I only need databases for local dev | docker-compose -f docker-compose.infra.yml up -d |
| I want to run the demo microservices | docker-compose -f docker-compose.services.yml up -d |
| Production with AWS RDS + ElastiCache | docker-compose up -d with env vars |
| CI/CD ephemeral test databases | docker-compose -f docker-compose.infra.yml up -d |
Quick Start
Spin up everything — databases, API, dashboard, and demo microservices — with a single command:
docker-compose -f docker-compose.dev.yml up -dThis starts PostgreSQL on 5432, Redis on 6379, Kafka on 9092, the API on 5016, the dashboard on 3000, and all four demo microservices on ports 5001–5004.
Point TestMesh at your existing databases:
export DATABASE_HOST=localhost
export DATABASE_PORT=5432
export REDIS_HOST=localhost
export REDIS_PORT=6379
docker-compose up -dThen verify it started:
curl http://localhost:5016/health