Skip to content

Self-Hosting

The Zirzir server is a self-contained, high-performance binary written in Rust (Axum 0.7) with an embedded SQLite ledger and a React dashboard.


Download and run the standalone binary on any Linux or macOS server:

Terminal window
curl -fsSL https://zirzir.dev/install.sh | sh
zirzir server --port 8080

Open http://localhost:8080 to access the developer dashboard.


Run the pre-built multi-arch Docker container:

Terminal window
docker run -d \
--name zirzir \
-p 8080:8080 \
-v zirzir-data:/app/data \
-v $(pwd)/plugins:/app/plugins \
ghcr.io/recite-labs/zirzir/server:latest

Requirements: Rust 1.75+, Bun 1.0+

Terminal window
git clone https://github.com/recite-labs/zirzir.git
cd zirzir
# 1. Build the React web dashboard
cd server/web
bun install && bun run build
# 2. Build the Rust release binary
cd ../
cargo build --release
# 3. Run the standalone server
./target/release/zirzir-server --plugins-dir ../plugins --port 8080

Zirzir uses SQLite in WAL mode with built-in versioned migrations.

Take consistent online database snapshots without locking readers or writers:

Terminal window
zirzir db backup --output /backups/zirzir-$(date +%Y%m%d).sqlite
Terminal window
zirzir db status

Zirzir exposes standard Prometheus telemetry at GET /metrics:

Terminal window
curl http://localhost:8080/metrics

Exposed metrics include:

  • zirzir_payments_total{status="all|success|failed"}
  • zirzir_circuit_breaker_healthy{provider="..."}
  • zirzir_uptime_seconds