Getting Started
Verified against the repository at commit
66dcbaf. Commands assume Docker Desktop andgiton macOS or Linux.
Prerequisites
- Docker with the Compose plugin (
docker compose). git.- For the no-Docker path only: Go 1.24 to build the binaries (
go.mod:3).
Install
The fastest install is to run the bundled Docker Compose stack, which brings up the server, the database, and the UI together.
git clone https://github.com/cadence-workflow/cadence.git
cd cadence
docker compose -f docker/docker-compose.yml upA first working setup
This starts the backend, registers a domain (Cadence's unit of namespacing for workflows), and opens the UI.
Start the backend components and leave them running.
bashdocker compose -f docker/docker-compose.yml upIn a second terminal, register a domain using the official CLI image. The frontend listens on port 7933 (
tools/cli/defs.go:34);host.docker.internalreaches it from another container on Docker Desktop.bashdocker run --rm ubercadence/cli:master \ --address host.docker.internal:7933 \ --domain test-domain domain registerConfirm the domain exists.
bashdocker run --rm ubercadence/cli:master \ --address host.docker.internal:7933 \ --domain test-domain domain describeOpen the web UI at
http://localhost:8088to browse workflow histories and traces (README.md:29).Run a sample workflow against this server with the cadence-samples (Go) or cadence-java-samples (Java) repositories.
Verify it works
The domain describe command in step 3 prints the domain's configuration if the server is healthy. You can also watch the Compose logs for the four services (frontend, history, matching, worker) reporting started, and the UI at http://localhost:8088 should load and list test-domain.
If you prefer no Docker, build the binaries and run the server against SQLite (CLAUDE.md):
make bins
make install-schema-sqlite
./cadence-server --zone sqlite startWhere to go next
- Production deployment on Kubernetes uses the cadence-charts Helm chart (
README.md:32-34). - Write workflows with the official Go or Java SDK.
- For high availability, multi-cluster replication, security, and scaling, follow the official documentation rather than this local setup.