Self-hosting overview
Self-hosted Helmr runs in your AWS account. The public repository supplies reusable Terraform/OpenTofu modules, three example compositions, and release-artifact resolution. You operate the environment around them.
The runtime has three main parts:
| Component | Responsibility |
|---|---|
| Control Plane | Serves the web UI and API, authenticates users, coordinates workers, stores Session and Turn state in PostgreSQL, and writes historical telemetry to ClickHouse. |
| Dispatcher | Reconciles runnable and scheduled work from PostgreSQL authority. |
| Workers | Execute verified Deployment bundles in Firecracker guests. |
Choose a deployment path
| Composition | Use |
|---|---|
| Quickstart | A compact installation: one host for control services, PostgreSQL and ClickHouse, plus separate Workers. Suitable for trying Helmr or continuing to use it without backups. |
| Standard | Separate Fargate services, RDS with backup defaults, HTTPS load balancing and operator-owned ClickHouse. |
| Private | Private application ingress and restricted platform egress for an existing company network. |
All three consume released Product artifacts and a separately prepared Platform Artifact store and matching Worker AMI. The operator owns the deployment and its credentials. Quickstart provides direct host HTTPS; Standard and Private compose managed AWS services. Network and data protection requirements determine which composition fits your installation.
Follow the Quickstart page for its host-based startup. The sequence below applies to Standard and Private.
Deployment sequence
-
Satisfy the requirements, including bootstrap outputs and external ClickHouse.
-
Configure and apply the Standard or Private AWS composition with
create_controlplane_service = false. -
Check out the exact Product release tag, download its signed v0 index,
platform-release.tar, and provenance, then publish the signed Runtime before enabling Control:gh release download "$HELMR_RELEASE_TAG" --pattern 'platform-release*' --pattern 'release-index*' --dir dist/platform-release scripts/publish-platform-release.sh \ "$PLATFORM_STORE_URI" \ "$HELMR_RELEASE_TAG" \ dist/platform-release/release-index.json \ dist/platform-release/release-index.sigstore.json \ dist/platform-release/platform-release.tar \ dist/platform-release/platform-release-provenance.jsonThe publisher verifies the signed index workflow identity (exact tag for stable, reviewed main for previews), indexed archive/provenance bytes, archive digest and size, checked-out source commit, canonical manifest, and every Runtime object before immutable publication.
-
Configure authentication and populate secrets and data services.
-
Run the database bootstrap task, then migrations, before enabling services.
-
Start and verify the Control Plane.
-
Add workers when you are ready to run agents.
-
Adopt the checked-in upgrade procedure before changing releases.
The Control Plane can be brought up without workers. Workers are required only when verified Deployments execute.