Skip to main content
OpenHands Enterprise deployments are sized primarily based on expected peak concurrent sandboxes — the largest number of sandboxes you expect to be running at the same time. Keep in mind that one user can have multiple sandboxes running at one time.
The Users column in the tables below is a rough translation of peak sandboxes into headcount, not an input. Size on peak sandboxes; the user estimate is a very rough guide

Planning Unit

Both tables below are built from the same per-sandbox allocation: If you raise the sandbox defaults (for large monorepos or memory-hungry builds), scale the totals in the tables by the same factor. See Resource Limits for how to change these values.

Installation Modes

This guide covers the two supported installation modes:

Embedded Cluster (Single VM)

The installer builds a single-node k0s cluster on a VM you provide. Fixed capacity, configured through the Admin Console, everything bundled on one machine.

Helm (Existing Kubernetes)

Install into a cluster you already run, with standard Kubernetes elasticity and autoscaling.

Replicated Embedded Cluster — Single VM

Machine sizes below are based on the peak sandboxes, so feel free to size up or down based on expected usage. The 16 vCPU / 64 GiB row matches the minimum VM in the Quick Start system requirements. Trials that stay below roughly 15 concurrent sandboxes are well served by that baseline.
Put the data disk on a separate expandable volume, not the boot disk. Sandbox volumes on a single VM are host directories that consume actual bytes rather than preallocating, so the disk grows with real usage and is meant to be resized in place as demand increases.

Replicated Helm Installation

Use two node pools: a tainted pool that runs only sandboxes, and an untainted pool that runs everything else. This keeps a burst of sandboxes from evicting platform components. Recommended node pools:
  • Sandbox pool: 16 vCPU / 64 GiB / 400 GiB SSD
  • Platform pool: 8 vCPU / 32 GiB / 100 GiB
Notes on the table:
  • Minimum node counts assume autoscaling. If your cluster cannot scale up quickly, raise the minimum toward your typical daily peak so users don’t wait on node provisioning.
  • PostgreSQL is deployed in-cluster by default. At 500 peak sandboxes and above, give it a dedicated node — or use External PostgreSQL and size it with your database team.

Adjusting After Rollout

  • Track sandbox pod count over time and size to the observed peak, plus headroom.
  • Watch memory usage against limits to catch OOMKills, and usage against requests to catch evictions. See Resource Limits for the metrics and the settings to change.
  • Grow volume storage before it fills. Sandbox workspaces are deleted with their sandbox, but their usage and retention may outstrip initial storage numbers

Next Steps

Quick Start

Provision a VM and install OpenHands Enterprise.

Kubernetes Installation

Deploy into an existing cluster with Helm.

Resource Limits

Tune CPU, memory, and storage for the application server and sandboxes.

Conversations and Sandboxes

Understand how conversations map onto sandboxes and how placement affects capacity.