Installation

Stand up a local 3-node cluster with Docker Compose, or build the engine from source and run a single node. Includes the common environment variables you'll touch on day one.

Docker Compose

The fastest way to get a 3-node cluster running:

git clone https://github.com/kode4food/argyll
cd argyll
docker compose up

This starts three engine nodes behind an HAProxy proxy on http://localhost:8080.

Building from Source

Prerequisites

  • Go 1.25+
  • Node.js 20+ (for the web UI)
  • Make

Build the Engine

git clone https://github.com/kode4food/argyll
cd argyll/engine
go build -o argyll ./cmd/argyll

Run a Single Node

RAFT_NODE_ID=argyll-1 \
RAFT_ADDRESS=127.0.0.1:9701 \
RAFT_DATA_DIR=/tmp/argyll-raft/argyll-1 \
RAFT_SERVERS=argyll-1=127.0.0.1:9701 \
WEBHOOK_BASE_URL=http://localhost:8080 \
./argyll

The engine listens on port 8080 by default.

Common Environment Variables

VariableDefaultDescription
API_PORT8080HTTP API port
API_HOST0.0.0.0HTTP listen host
WEBHOOK_BASE_URLhttp://localhost:8080Base URL for async callbacks (must be reachable from Step handlers)
LOG_LEVELinfodebug, info, warn, error
STEP_TIMEOUT30000Default HTTP Step timeout in milliseconds
MEMO_CACHE_SIZE65536Memoization cache entries (LRU)

See Configuration for the full list, including Raft cluster setup and retry defaults.

Verify Installation

curl http://localhost:8080/engine

You should get back engine state including registered Steps and node health.

Next Steps