Start
Install
On this page 5 sections
NullBoiler ships as a single static binary with SQLite vendored inside. There is no external database, no message broker, and nothing else to provision.
Prebuilt binary
Every release attaches binaries for seven targets:
| Platform | Asset |
|---|---|
| Linux x86_64 | nullboiler-linux-x86_64.bin |
| Linux aarch64 | nullboiler-linux-aarch64.bin |
| Linux riscv64 | nullboiler-linux-riscv64.bin |
| macOS aarch64 | nullboiler-macos-aarch64.bin |
| macOS x86_64 | nullboiler-macos-x86_64.bin |
| Windows x86_64 | nullboiler-windows-x86_64.exe (also .zip) |
| Windows aarch64 | nullboiler-windows-aarch64.exe (also .zip) |
Download, mark executable, check the version:
curl -LO https://github.com/nullclaw/nullboiler/releases/latest/download/nullboiler-macos-aarch64.bin
chmod +x nullboiler-macos-aarch64.bin
./nullboiler-macos-aarch64.bin --versionSwap the asset name for your platform from the table above.
Build from source
You need Zig 0.16.0 exactly — the repo pins it. SQLite is vendored, so there are no system dependencies to hunt down. (The vendored MQTT and Redis client stubs compile but those transports are not functional yet.)
git clone https://github.com/nullclaw/nullboiler
cd nullboiler
zig build
./zig-out/bin/nullboiler --versionStart the server against a config file:
./zig-out/bin/nullboiler --config config.json --port 8080 --db nullboiler.dbThe repo ships a config.example.json you can copy as a starting point. See Configuration for every field.
Via NullHub
If you run the rest of the family through NullHub, it installs and supervises NullBoiler like any other component:
nullhub install nullboilerDocker Compose
The repo carries a docker-compose.yml with profile-based stacks. From a repo checkout:
# orchestrator only
docker compose up -d nullboiler
# orchestrator + a NullClaw worker
docker compose --profile nullclaw up -d
# full async stack: nullboiler + nullclaw + nulltickets
docker compose --profile nulltickets up -dThe compose guide in the repo (docs/docker-compose-nulltickets-nullclaw.md) covers the token alignment between services and a full-stack smoke test.
Where config lives
- Default path:
~/.nullboiler/config.json - Override the instance home with
NULLBOILER_HOME=/path/to/dir—config.jsonis then read from that directory - Point directly at a file with
--config /path/to/config.json
Relative paths inside the config (db, strategies_dir, tracker.workflows_dir, tracker.workspace.root) resolve relative to the config file itself, so an instance directory stays self-contained.
Next: Quickstart — wire up one worker and create your first run.