Backups & Recovery
Your data is automatically backed up every day. Here's how it works.
Automatic Backups
Omaship backs up all your databases daily:
- Primary database — Users, content, settings
- Queue database — Background jobs
- Cache database — Cached data
Backups are stored in two locations:
Local Storage
On your server for 7 days. Fast recovery for recent issues.
Cloud Storage
Off-site on Hetzner for 30 days. Protection against server failure.
Viewing Backups
Check your backup status in the admin dashboard:
yourdomain.com/admin → Settings → Backups
You'll see:
- Last backup time
- Backup size
- Storage locations
- Retention period remaining
Restoring Data
Use the interactive restore tool to browse and restore from backups:
bin/restore
This opens a TUI (terminal interface) where you can:
- Browse available backups with arrow keys
- See backup timestamps and sizes
- Select and restore specific backups
- Choose which database to restore
Production restore? For production restores, run bin/restore via Kamal: kamal app exec -i "bin/restore"
What's Not Backed Up
- Uploaded files — Stored separately and backed up independently
- Environment secrets — These are in GitHub Secrets, not your database
For Developers
To manually trigger a backup or customize retention:
# Trigger backup now
rails runner "OmashipBackup::BackupDatabasesJob.perform_now"
# Check local backups
ls -lah storage/backups/
See Engine Reference for omaship_backup configuration options.