What you’re deploying
A self-hosted Hatchet installation consists of three components:- Hatchet server — the engine (gRPC API for task scheduling), the REST API, and the web dashboard, distributed as separate Docker images
- PostgreSQL — stores all workflow state, task history, and metadata
- RabbitMQ (optional) — message queue for high-throughput, real-time task dispatch; can be replaced with Postgres-backed messaging for simpler deployments
Hatchet Cloud
If you prefer not to operate infrastructure yourself, Hatchet Cloud is a fully managed option. We recommend trying it even if you plan to self-host, so you can explore a fully-deployed Hatchet instance before setting up your own.Deployment options
Docker Compose
Run Hatchet with Docker Compose. Suitable for development and small production deployments.
Kubernetes
Deploy Hatchet with Helm on Kubernetes. Recommended for production workloads.
System requirements
| Component | Minimum version | Notes |
|---|---|---|
| PostgreSQL | 15 | Primary data store; required |
| RabbitMQ | 3 | Message queue; optional — can use Postgres instead |
Quick local start with the Hatchet CLI
The fastest way to run Hatchet locally is with the Hatchet CLI, which starts a bundled single-container instance. Requires Docker.Connecting your SDK to a self-hosted instance
Once Hatchet is running and you have an API token, configure your SDK with two environment variables:Hatchet() or HatchetClient.init() with no arguments.