Start
Install
On this page 5 sections
NullPantry is a single HTTP service. You can run the published container image or build the binary yourself — either way you end up with a server on port 8765 and a local SQLite database, no external services required.
Requirements
- Zig
0.16.0(or a compatible0.16.x) — only if you build from source. - No system SQLite. It is vendored under
vendor/sqlite3. - Optional
libpqat runtime, only if you use the Postgres record store. - Other services (Redis, Qdrant, ClickHouse, …) are needed only when you enable the matching backend. See Backends.
Docker
Tagged releases publish a multi-architecture image to GHCR:
docker pull ghcr.io/nullclaw/nullpantry:latest
docker pull ghcr.io/nullclaw/nullpantry:v2026.06.09Run it with a token and a volume for state:
docker run --rm \
-p 8765:8765 \
-e NULLPANTRY_TOKEN=dev-secret \
-v nullpantry-data:/var/lib/nullpantry \
ghcr.io/nullclaw/nullpantry:latestThe image runs as a non-root user, keeps local state under /var/lib/nullpantry, and listens on 0.0.0.0:8765 so Docker port publishing works.
Build from source
zig build
zig build test
zig build run -- --db .nullpantry/nullpantry.dbThe default profile is nullclaw: SQLite records, Markdown compatibility, memory_lru in-process memory. It is what you want for local development and for pairing with NullClaw.
Engine profiles
Backend selection happens at compile time. A runtime flag cannot activate a backend that was not compiled into the binary — the pantry only holds what you stocked it with.
| Profile | Use when | Includes |
|---|---|---|
nullclaw |
Default local development, NullClaw compatibility | SQLite records, Markdown compat, memory_lru, none |
minimal |
Small local smoke binaries | SQLite records, memory_lru, none |
full |
Integration and release validation | Every record, memory, vector, graph, analytics and provider adapter |
custom |
Production-specific binaries | Only the explicit -Drecords, -Dagent-memory, -Dvectors choices |
zig build -Dengine-profile=minimal
zig build -Dengine-profile=full
zig build -Dengine-profile=custom -Drecords=postgres -Dagent-memory=redis -Dvectors=qdrantVerify the build
# fast local feedback
zig build test
# full local API/storage/runtime suite
zig build test-local --summary all
# one area while developing
zig build test-api
zig build test-agent-memory
zig build test-vectorNext: Quickstart to run the server and make your first request.