Run MaxoPerf load tests on your own infrastructure β self-hosted runners for Docker & Kubernetes.
10K+
Run performance tests from inside your own network. MaxoPerf Outpost is a lightweight agent that turns any Docker host or Kubernetes cluster into a private load-testing runner pool β BYOC (bring your own cloud). Point it at staging behind your VPN, at an internal API with no public route, or at a service that only accepts traffic from your VPC. MaxoPerf runs the scheduling, results ingestion, and reporting; your traffic and your test data never leave your infrastructure.
The agent dials outbound only. No inbound ports. No firewall exceptions. No VPN peering.
π BYOC Outpost guideβ Β· π Start freeβ Β· π maxoperf.comβ
Generate an install JWT in the console (Private datacenters β Generate install JWT), then:
docker run -d --name maxoperf-outpost-agent --restart unless-stopped \
-e MAXOPERF_API_BASE_URL=https://api.maxoperf.com \
-e MAXOPERF_CONTROL_GRPC_URL=grpc.maxoperf.com:443 \
-e MAXOPERF_PDC_ID=<your private datacenter id> \
-e MAXOPERF_OUTPOST_INSTALL_JWT=<install JWT from the console> \
-v /var/run/docker.sock:/var/run/docker.sock \
docker.io/maxoperf/outpost-agent:latest agent
The agent enrolls, reports ready, and starts accepting runs. Watch it come online in the console.
The Docker socket mount lets the agent start and stop runner containers on your host. On Kubernetes it uses a scoped
Role/RoleBindinginstead β no socket, no privileged pod.
The console generates a complete, one-shot manifest β Namespace, ServiceAccount, Role, RoleBinding,
Secret, Deployment β with the install JWT already embedded:
kubectl apply -f maxoperf-outpost-install.yaml
Helm remains the advanced path when you need overlays, image pre-pull, or GitOps.
:latest is a moving tag. For reproducible installs, pin the digest:
docker pull docker.io/maxoperf/outpost-agent@sha256:<digest>
Copy the digest from the Tags tab above, or read it back yourself:
docker buildx imagetools inspect docker.io/maxoperf/outpost-agent:latest
| Tag | Meaning |
|---|---|
latest | Newest published build. Moving tag β pin a digest in production. |
<build>-<sha> | Immutable build, e.g. 256-87dcb28. Maps 1:1 to a commit. |
Platform: linux/amd64.
| Environment variable | Required | Description |
|---|---|---|
MAXOPERF_API_BASE_URL | β | MaxoPerf Platform API origin, e.g. https://api.maxoperf.com |
MAXOPERF_CONTROL_GRPC_URL | β | Control-stream endpoint, e.g. grpc.maxoperf.com:443 |
MAXOPERF_PDC_ID | β | Private datacenter id from the console |
MAXOPERF_OUTPOST_INSTALL_JWT | β | Long-lived install credential minted in the console |
MAXOPERF_OUTPOST_MAX_CONCURRENT | β | Cap on simultaneous runner containers |
MAXOPERF_OUTPOST_DEFAULT_CPU_LIMIT_MILLIS | β | Per-runner CPU limit (millicores) |
MAXOPERF_OUTPOST_DEFAULT_MEMORY_LIMIT_MIB | β | Per-runner memory limit (MiB) |
MAXOPERF_LOG_LEVEL | β | info (default) or debug for heartbeat/poll/retry detail |
MAXOPERF_LOG_FORMAT | β | human (default) or json for log collectors |
Raise verbosity or switch to JSON logs without rebuilding the image β both are plain env vars.
Secret or a Docker secret β never in a
ticket, a chat message, or a committed file. Rotate it from the console.Anonymous Docker Hub pulls are rate-limited per IP. If you pull the agent from CI or across a large fleet behind a
single NAT address, run docker login first, or pre-pull the image into an internal registry or cluster cache.
MaxoPerf is a performance-testing platform: load testing, browser testing, synthetic monitoring, and real-user monitoring, with runners you can host yourself.
Content type
Image
Digest
sha256:128e15682β¦
Size
210.7 MB
Last updated
about 12 hours ago
docker pull maxoperf/outpost-agent