Files
zpan/docs/roadmap/v2.9.md
T
saltbo 751b09366d docs(roadmap): restructure v2.6–v2.10 around Pro Launch
- v2.6 becomes Pro Launch: cloud-account binding activation,
  Ed25519 entitlement certificates, white-label as first Pro
  feature, retroactive Pro gates (open registration, team count
  ≤3, per-team storage quota)
- v2.7 becomes Pro Operator: audit log, webhooks, anti-abuse
  stack for the Pro-gated open registration mode
- v2.8 becomes Pro Analytics & Identity: analytics dashboard,
  multi-IdP SSO + SAML, LDAP / SCIM
- Original Backup (v2.6) content moved to v2.9; Sync & Desktop
  (v2.7) content moved to new v2.10
- Managed Cloud Services extracted to a separate closed-source
  zpan-cloud repo (content moderation, server-side processing,
  managed custom domains)
- Community vs Pro split rewritten around the operator rule
  ("features that help you use ZPan are free; features that
  help you operate ZPan for others are Pro")

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 21:29:54 -04:00

1.7 KiB

v2.9 — Backup

A lightweight CLI agent that backs up local files to S3 via ZPan.

Originally planned as v2.6. Deferred behind Pro Launch so the commercial foundation ships first.

Major Features

zpan-cli (Rust, in monorepo under native/)

  • One-way backup — push local files to S3, local deletions do NOT delete remote copies
  • Incremental — only upload new or changed files (hash + mtime comparison)
  • Preserve directory structure — local paths map to remote paths as-is
  • Scheduled runs — built-in cron (e.g. every night at 2 AM)
  • Directory watching — optional real-time mode, upload on file change
  • Resumable uploads — large files use multipart upload, resume on failure
  • Config file — YAML config for persistent backup jobs
  • Cross-platform — macOS, Linux, Windows, ARM (NAS friendly)
  • Small binary — ~5MB static binary, no runtime dependencies
  • Docker image — mount volume, set env vars, done (for NAS users)

ZPan API Additions

  • Batch presigned URL endpoint — request upload URLs for many files in one call
  • File fingerprint check — client sends hashes, server returns which need uploading
  • Backup status visible in web UI

User Scenarios

Photographer with a NAS:

I have 500GB of photos on my Synology. I run zpan-cli in Docker, it backs up to R2 nightly. If my NAS dies, I browse and download everything from ZPan's web UI.

Developer with a laptop:

I run zpan-cli backup --dir ~/Projects --cron "0 2 * * *". Every night my projects are backed up. If my laptop gets stolen, I pull everything from ZPan.

v1 Issues Resolved

  • #136 Desktop client — zpan-cli for command line, desktop tray app in v2.10