Local Deployment
Purpose
Run Orloj locally for development and deterministic feature validation.
Prerequisites
- Go
1.24+ - Docker
curlandjq- repository checked out locally
Install
Option A: Run from Source
Terminal 1:
go run ./cmd/orlojd \
--storage-backend=memory \
--task-execution-mode=message-driven \
--agent-message-bus-backend=memoryTerminal 2:
go run ./cmd/orlojworker \
--storage-backend=memory \
--task-execution-mode=message-driven \
--agent-message-bus-backend=memory \
--agent-message-consume \
--model-gateway-provider=mockOption B: Docker Compose Stack
docker compose up --build -dUses docker-compose.yml.
Verify
Health and worker readiness:
curl -s http://127.0.0.1:8080/healthz | jq .
go run ./cmd/orlojctl get workersSample task execution:
go run ./cmd/orlojctl apply -f examples/blueprints/pipeline/
go run ./cmd/orlojctl get task bp-pipeline-taskDone means:
/healthzreturns healthy status.- at least one worker is
Ready. bp-pipeline-taskreachesSucceeded.
Operate
Source-mode stop: terminate both processes.
Compose-mode stop:
docker compose downCompose logs:
docker compose logs -f orlojd orlojworker-a orlojworker-bTroubleshoot
- If workers do not appear, check worker process logs for DSN/backend mismatch.
- If tasks remain pending, verify execution mode and message-consumer flags match.
- If
orlojctlcalls fail, confirm--serverpoints to the active API address.
Security Defaults
For local-only use, API auth may remain disabled. Do not expose local ports publicly.