Download
Get ZigBase
Grab a prebuilt single binary for your platform, build
it from source with Zig 0.16, or pull ZigBase in as an
embeddable library. Current release:
v0.13.0, Apache-2.0.
Release binaries
Prebuilt, statically-linked binaries for the v0.13.0 release. Download, extract, and run — no toolchain required.
| Platform | Architecture | Download |
|---|---|---|
| Linux | x86_64 | zigbase-0.13.0-x86_64-linux-musl.tar.gz |
| Linux | aarch64 | zigbase-0.13.0-aarch64-linux-musl.tar.gz |
| macOS | x86_64 | zigbase-0.13.0-x86_64-macos.tar.gz |
| macOS | aarch64 | zigbase-0.13.0-aarch64-macos.tar.gz |
Verify checksums with SHA256SUMS, or browse the full release page.
npm / npx
The server is published to npm as zigbase — an alias pinning
@zigbase/server, which carries the platform binaries. npx
fetches the right prebuilt binary for your machine, so there's nothing to install:
npx zigbase init # scaffold a project (compose file, schema, AGENTS.md)
npx zigbase serve --data-dir ./zb_data @zigbase/server stays the canonical package to depend on; installing
both is harmless.
Docker
The official image ships the same binary as the release tarballs above — no Windows build required.
docker run -d -p 8090:8090 -v zigbase_data:/data ghcr.io/valthon/zigbase:0.13.0 latest, {X.Y.Z}, and rolling {X.Y}/{X}
tags are published to ghcr.io/valthon/zigbase.
See the Docker guide for the data-volume and non-root-user details.
Build from source
ZigBase pins Zig 0.16 via mise.toml.
Install the toolchain, then build:
mise install # installs Zig 0.16.0 (pinned in mise.toml)
zig build # -> zig-out/bin/zigbase
./zig-out/bin/zigbase serve --data-dir ./zb_data
The produced binary lives at zig-out/bin/zigbase. If you'd
rather not install Zig globally, prefix with
mise exec zig@0.16.0 -- zig build.
Use as a library
Build your own backend on top of ZigBase. Fetch it as a dependency:
zig fetch --save git+https://github.com/valthon/zigbase
Wire the module into your build.zig — addTo adds the
import and sets link_libc together, so the two can't drift apart:
const zigbase = @import("zigbase");
const zb = b.dependency("zigbase", .{ .target = target, .optimize = optimize });
zigbase.addTo(zb, exe_mod);