Hōzō. 宝蔵

Wake-on-demand ZFS backup orchestrator

Hōzō wakes a sleeping backup server, replicates ZFS snapshots over SSH, verifies the result, then shuts the server back down. Built for low-power homelab backup nodes — Intel NUC, Beelink, Raspberry Pi — silent, off when not in use.

Try the live demo → Read the story (built in 3 hours) →
🌙

Wake. Sync. Sleep.

Wake-on-LAN, wait for SSH, optionally spin up a USB drive, run syncoid, verify, then shut the box down.

🛡

Tested in production.

278 tests, 99% coverage, zero lint errors — not a prototype.

🔐

Passkeys only.

WebAuthn-only auth. No passwords to leak, no shared secrets, no bearer tokens. Your device is your key.

How it works

 ┌─────────────────────────────────┐
 │        Hōzō Controller          │  (your always-on machine)
 │                                 │
 │  Scheduler ──► Job runner       │
 │                    │            │
 │          Wake-on-LAN packet     │
 │                    │            │
 └────────────────────┼────────────┘
                      │ SSH / WoL
                      ▼
 ┌─────────────────────────────────┐
 │       Remote NUC / Beelink      │  (sleeps until backup time)
 │                                 │
 │  Wakes  ──►  USB drive spins up │
 │              syncoid runs       │
 │              verify snapshot    │
 │              shutdown           │
 └─────────────────────────────────┘
                      │
                      ▼
             ZFS pool on USB drive
             (offsite-ready replica)
  

Run it yourself

git clone https://github.com/sageframe-no-kaji/hozo-sentinel
cd hozo-sentinel
python -m venv venv && source venv/bin/activate
pip install -e .

Python 3.10+. syncoid must also be on PATH — it ships with sanoid (apt install sanoid). A Docker image is also included in the repo.