Your backups. Your storage.
Connect any of 13 storage providers and sh0 handles encrypted, scheduled, retention-managed backups automatically. No scripts. No cron. No manual uploads.
13 providers, one dashboard
Every S3-compatible provider uses the same code path. Add credentials, test, and you're done.
How it works
Add a storage provider
Go to the Storage page in the dashboard. Click "Add Provider", select your backend (S3, R2, SFTP...), enter credentials, and test the connection.
Credentials are encrypted at rest
All provider credentials are AES-256-GCM encrypted with your server's master key before being stored. They never leave your server in plain text.
Use as backup destination
When creating a backup schedule or triggering a manual backup, choose your storage provider as the destination. Backups are encrypted before upload.
Automatic retention & cleanup
Set a retention policy (e.g., 30 days) and sh0 automatically prunes old backups from your external storage. No cron scripts needed.
The backup pipeline
Streaming 4 MB chunks -- never buffers the full file in memory
Built for production
End-to-end encryption
Backups are AES-256-GCM encrypted in 4 MB chunks before upload. Each chunk uses a unique nonce derived from a per-file random prefix. Even if your storage is breached, data is unreadable.
Test before you trust
The "Test Connection" button writes a probe file, reads it back, verifies integrity, then deletes it. You know your storage is working before any backup relies on it.
One interface, 13 providers
Built on Apache OpenDAL -- a production-grade Rust storage abstraction used by Databend, RisingWave, and Mozilla. All providers go through one unified, tested code path.
Smart retention
Backups are pruned by timestamp after each successful upload. sh0 checks both file metadata and filename timestamps to ensure nothing is missed.
Streaming uploads
Files are read and encrypted in streaming 4 MB chunks. Your server never needs to hold the entire backup in memory, even for multi-gigabyte databases.
Self-hosted S3 ready
MinIO users get first-class support with automatic path-style addressing configuration. Your backups stay on your own infrastructure.
Without sh0
- x Write custom backup scripts per database
- x Manage cron jobs on each server
- x Implement encryption manually (GPG, openssl)
- x Install and configure rclone/aws-cli/s3cmd
- x Write retention scripts to prune old files
- x No dashboard -- SSH into each server to check
With sh0
- Add provider in the dashboard, click "Test Connection"
- Schedule backups with a cron expression
- AES-256-GCM encryption happens automatically
- 13 providers through one unified interface
- Retention policy deletes old backups automatically
- Full dashboard with history, status, and one-click restore
Questions & answers
Do I need external storage to use backups? +
Are my credentials safe? +
Can I use multiple providers? +
What happens if my storage provider goes down? +
Does sh0 support S3-compatible providers not on the list? +
Can I restore from external storage? +
Stop writing backup scripts
sh0 handles the entire pipeline -- dump, compress, encrypt, upload, prune. You just choose where it goes.