Backup & Restore
Your app is live in production. Now make sure you never lose it. rdc can push your entire repository (app, database, files, configs) to external storage and pull it back any time. Survive ransomware, hardware failure, anything.
Watch the tutorial
Three steps
- Configure a storage provider.
- Push a backup.
- Restore when you need it.
Step 1: Configure storage
You need an rclone config file. If you already use rclone, import it directly:
time rdc config storage import --file rclone.conf
This supports S3, B2, Google Drive, Dropbox, and many more. Verify what’s wired up:
time rdc config storage list
Step 2: Push a backup
time rdc repo push --name my-app -m my-server --to my-storage
Your entire repository (app, database, files, everything) is now backed up. Because the repository itself is encrypted, the backup is encrypted too. No extra key management.
List your backups any time:
time rdc repo backup list --from my-storage -m my-server
Why no downtime?
The app keeps running while the backup uploads. How is that consistent?
Same logic as a fork. rdc forks first, then uploads the fork. The fork captures the moment; your live app keeps going. No downtime, no inconsistency.
Step 3: Restore on a new server
Let’s say your server dies. Set up a new server, add it to rdc, and pull:
time rdc repo pull --name my-app -m new-server --from my-storage
Then start it:
time rdc repo up --name my-app -m new-server
Your app is back. Same data, same containers, different machine.
Faster backups: machine to machine
You can also push directly between machines, no cloud storage in between:
time rdc repo push --name my-app -m my-server --to-machine backup-server
Pro tip. Storage uploads always send everything. Machine-to-machine sends only the difference. The first machine-to-machine push takes the usual time, but every push after that is much faster. Great for frequent backups.
Next: Monitoring.