Installation

Docker (easiest)

Pull and run the pre-built multi-arch image (amd64/arm64):

docker run -p 8787:8787 -p 8788:8788 ghcr.io/lemonberrylabs/gcw-emulator:latest

With a local workflows directory (hot-reloads on every save):

docker run -p 8787:8787 -p 8788:8788 \
  -v $(pwd)/workflows:/workflows \
  -e WORKFLOWS_DIR=/workflows \
  ghcr.io/lemonberrylabs/gcw-emulator:latest

See Docker for Docker Compose examples, CI/CD setup, environment variables, and building your own image.

Go install

Requires Go 1.25 or later.

go install github.com/lemonberrylabs/gcw-emulator/cmd/gcw-emulator@latest

This installs the gcw-emulator binary to your $GOPATH/bin (or $HOME/go/bin by default).

Start the emulator:

gcw-emulator --workflows-dir=./workflows

Build from source

git clone https://github.com/lemonberrylabs/gcw-emulator.git
cd gcw-emulator
go build -o gcw-emulator ./cmd/gcw-emulator
./gcw-emulator

Verify the installation

Once the emulator is running, confirm it responds:

curl http://localhost:8787/v1/projects/my-project/locations/us-central1/workflows

Expected response:

{"workflows": []}

Open the Web UI at http://localhost:8787/ui/ to see the dashboard.

Ports

PortProtocolDescription
8787HTTPREST API and Web UI (configurable via PORT env var)
8788gRPCgRPC API (configurable via GRPC_PORT env var)

Next steps

Proceed to the Quick Start to deploy and run your first workflow.