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.
Quick Start (One-Line Binary)
Section titled “Quick Start (One-Line Binary)”Download and run the standalone binary on any Linux or macOS server:
curl -fsSL https://zirzir.dev/install.sh | shzirzir server --port 8080Open http://localhost:8080 to access the developer dashboard.
Docker Deployment
Section titled “Docker Deployment”Run the pre-built multi-arch Docker container:
docker run -d \ --name zirzir \ -p 8080:8080 \ -v zirzir-data:/app/data \ -v $(pwd)/plugins:/app/plugins \ ghcr.io/recite-labs/zirzir/server:latestBuild from Source
Section titled “Build from Source”Requirements: Rust 1.75+, Bun 1.0+
git clone https://github.com/recite-labs/zirzir.gitcd zirzir
# 1. Build the React web dashboardcd server/webbun install && bun run build
# 2. Build the Rust release binarycd ../cargo build --release
# 3. Run the standalone server./target/release/zirzir-server --plugins-dir ../plugins --port 8080Database & Backups
Section titled “Database & Backups”Zirzir uses SQLite in WAL mode with built-in versioned migrations.
Zero-Downtime Hot Backups
Section titled “Zero-Downtime Hot Backups”Take consistent online database snapshots without locking readers or writers:
zirzir db backup --output /backups/zirzir-$(date +%Y%m%d).sqliteMigration Status Inspector
Section titled “Migration Status Inspector”zirzir db statusMonitoring & Prometheus Metrics
Section titled “Monitoring & Prometheus Metrics”Zirzir exposes standard Prometheus telemetry at GET /metrics:
curl http://localhost:8080/metricsExposed metrics include:
zirzir_payments_total{status="all|success|failed"}zirzir_circuit_breaker_healthy{provider="..."}zirzir_uptime_seconds