This is a project I worked on for about 6 years. With the help of Claude AI, I was able to rebuild and drastically improve it. It's now open source too.
Features
- Agent-based architecture — endpoints initiate all connections; no inbound ports needed on clients
- SSH with append-only security — agents back up over SSH but cannot delete existing archives
- Setup wizard — browser-based installer configures database, admin account, and storage in minutes
- Real-time progress — live progress bars during backups
- File-level restore — browse archive contents in a collapsible tree, restore individual files or entire directories
- Download archives — extract and download files as .tar.gz directly from the browser
- Flexible scheduling — 10min to monthly intervals, multiple times per day, manual trigger
- Backup templates — pre-configured directory sets for common server roles (web, database, mail, etc.)
- Retention policies — per-plan prune settings (hourly/daily/weekly/monthly/yearly)
- Multi-user — role-based access (admin sees all, users see own clients)
- Queue management — concurrent job limits, cancel/retry, priority ordering
- Encrypted passphrases — repository passwords encrypted at rest (AES-256-GCM)
- Email alerts — SMTP notifications on backup failure
- Dashboard — backup charts, server stats, active jobs, log feed with 15s auto-refresh