Observe, never reconcile
zolder reads Syncthing over its local REST API and reads restic snapshot freshness. It never diffs trees, resolves conflicts, or moves your data — Syncthing is the sync-of-record, restic is the backup-of-record.
Observes your Syncthing mesh and wraps your restic backups, then emits one structured status report and pages you when something breaks. Never a sync engine.
zolder is the observability and orchestration layer over a local-first personal storage setup:
zolder.json status report and alerts when something is wrong.The design line is deliberate and load-bearing (ADR-0002): zolder observes Syncthing and wraps restic — it is never a sync engine.
zolder run backup only wraps restic to capture its exit code and duration."A
zolder statusyou trust beats a sync engine you don't."
Fleet aggregation (rolling every device's zolder.json up to the node), a system-tray indicator, and a serve dashboard are on the roadmap but not shipped yet — this guide documents only what the current release does.