SLV Backup - Quickstart
🗄️ SLV Backup
SLV Backup creates encrypted, incremental backups of your node using restic. All data is encrypted client-side with AES-256 before upload — the server never sees your plaintext data.
Legacy mode: SLV also supports unencrypted tar+zstd backups (without--restic). We strongly recommend using--resticfor all new backups.
Prerequisites
- SLV CLI installed on the target node
sudoaccess (required for full-disk backup)- Logged in (
slv login) with an active storage subscription resticinstalled (apt install restic)
Create an Encrypted Backup
bash
sudo slv backup create --restic --yessudo slv backup create --restic --yestext
🗄️ SLV Backup (restic mode)
Region: default
Retention: 7 days
⚠️ Restic encryption password generated and saved to:
/home/solv/.slv/restic-password
BACK UP THIS FILE — without it, backups cannot be restored.
🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...
Files: 151263 new, 0 changed, 0 unmodified
Dirs: 22486 new, 0 changed, 0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)
processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved
✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.🗄️ SLV Backup (restic mode)
Region: default
Retention: 7 days
⚠️ Restic encryption password generated and saved to:
/home/solv/.slv/restic-password
BACK UP THIS FILE — without it, backups cannot be restored.
🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...
Files: 151263 new, 0 changed, 0 unmodified
Dirs: 22486 new, 0 changed, 0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)
processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved
✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.What happens on first run
- A random encryption password is generated and saved to
~/.slv/restic-password(mode 0600) - A restic repository is initialized on ERPC Cloud Storage
- Your entire disk is backed up (excluding system pseudo-filesystems)
Subsequent runs
Only changed files are uploaded (incremental). Deduplication keeps storage costs low.
List Backups
bash
sudo slv backup listsudo slv backup listShows both restic snapshots and legacy tar backups in cloud storage.
Restore from Backup
Restore the latest snapshot:
bash
sudo slv backup restore latestsudo slv backup restore latestRestore a specific snapshot:
bash
sudo slv backup restore b6925e6dsudo slv backup restore b6925e6dRestore a legacy tar backup:
bash
sudo slv backup restore backup-mynode-20260318.tar.zstsudo slv backup restore backup-mynode-20260318.tar.zstVerify Backup Integrity
bash
sudo restic -r rest:https://<apiKey>:[email protected]/v3/storage/restic/ \
--password-file ~/.slv/restic-password checksudo restic -r rest:https://<apiKey>:[email protected]/v3/storage/restic/ \
--password-file ~/.slv/restic-password checkSet Up Automated Backups (Cron)
bash
sudo slv backup create --restic --cron dailysudo slv backup create --restic --cron daily| Interval | Description |
|---|---|
daily | Run once a day |
weekly | Run once a week |
monthly | Run once a month |
off | Remove the cron job |
Retention
By default, snapshots older than 7 days are automatically pruned:
bash
sudo slv backup create --restic --retention 14sudo slv backup create --restic --retention 14Customize Excludes
View the current exclude list:
bash
slv backup create --list-excludesslv backup create --list-excludesAdd additional exclude paths:
bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshotssudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshotsEncryption & Security
| Feature | Detail |
|---|---|
| Encryption | AES-256-CTR + Poly1305-AES (client-side) |
| Integrity | SHA-256 content-addressable storage |
| Deduplication | Content-defined chunking |
| Server-side visibility | None — server only sees encrypted blobs |
| Password file | ~/.slv/restic-password (mode 0600) |
| Excluded from backup | ~/.slv/restic-password, ~/.slv/api.yml, ~/.slv/backup.env |
⚠️ IMPORTANT: Back up your~/.slv/restic-passwordfile separately. Without it, your backups are irrecoverably lost.
Options Reference
| Option | Description |
|---|---|
--restic | Use restic for encrypted incremental backup (recommended) |
-r, --region <region> | Storage region (default: eu) |
--exclude <path> | Additional paths to exclude (repeatable) |
--include <path> | Remove from default excludes (repeatable) |
--list-excludes | Show current exclude list and exit |
--retention <days> | Prune snapshots older than N days (default: 7) |
--cron <interval> | Set up cron job (daily/weekly/monthly/off) |
-y, --yes | Skip confirmation prompts |
--upload | Legacy: upload tar backup to cloud storage |
-o, --output <path> | Legacy: output file path for tar backup |
Legacy Mode (tar+zstd)
For backward compatibility, unencrypted tar backups are still supported:
bash
sudo slv backup create --upload --yes # Unencrypted tar backupsudo slv backup create --upload --yes # Unencrypted tar backupNote: Legacy backups are not encrypted. We recommend migrating to--resticfor all new backups.