Backups & Disaster Recovery
Learn how to configure external object storage, schedule automated backups, and perform one-click database and volume restores.
1. Storage Architecture: Direct-to-Storage
Backing up large databases through a centralized API server creates severe network and memory bottlenecks. TurboV solves this with a direct-to-storage architecture utilizing S3 presigned URLs:
[ TurboV Control Plane ]
│
│ 1. Generates short-lived Presigned PutObject URL
▼
[ TurboV Agent (VPS) ]
│ 2. Dumps & compresses database locally (gzip)
│ 3. Streams compressed payload DIRECTLY to Object Storage via HTTPS PUT
▼
[ Your External Object Storage (AWS S3 / Cloudflare R2 / MinIO) ]
- Zero Central Bottleneck: Dump streams never transit through the TurboV control plane.
- Minimal Agent Footprint: Data streams are compressed on the fly and sent directly to S3 storage over HTTPS.
2. Supported Storage Providers
Configure your preferred storage provider in Settings → Backup Storage:
| Provider | Authentication Required | S3 Endpoint URL |
|---|---|---|
| AWS S3 | Access Key ID, Secret Access Key, Bucket, Region | Standard AWS S3 endpoint |
| Cloudflare R2 | R2 Access Key ID, Secret Access Key, Bucket Name | https://<account_id>.r2.cloudflarestorage.com |
| MinIO (Self-Hosted) | MinIO Access Key, Secret Key, Bucket Name | https://minio.yourdomain.com |
| Local Host Storage | Dedicated host directory path | Local disk fallback |
3. Configuring Automated Backup Schedules
Automate disaster recovery protection with flexible retention policies:
- Open your database or application in the dashboard and select Backups → Backup Schedules.
- Click Create Schedule.
- Configure the schedule:
- Target Storage: Select your configured S3, R2, or MinIO bucket.
- Cron Expression:
- Daily at 2 AM:
0 2 * * * - Every 6 hours:
0 */6 * * * - Weekly on Sunday:
0 0 * * 0
- Daily at 2 AM:
- Retention Count: Maximum number of snapshots to keep (e.g.
14or30). Older backups beyond this limit are automatically pruned from your storage bucket.
- Click Enable Schedule.
4. Creating On-Demand Manual Snapshots
Before performing high-risk application updates or running complex schema migrations, create an on-demand snapshot:
- Open your database and navigate to the Backups tab.
- Click Create Backup Now.
- (Optional) Provide a descriptive label (e.g.
pre-v3-migration). - The agent takes a hot snapshot, streams it to your storage provider, and records the backup metadata in the dashboard.
5. One-Click Restore Workflow
In the event of accidental data deletion or hardware failure, you can restore any historical backup:
- In the Backups tab, locate the desired snapshot.
- Click Restore.
- Choose the target destination:
- Restore in-place: Overwrites the active database instance with the snapshot data.
- Restore to new database: Provisions a separate database instance containing the snapshot, allowing you to inspect data side-by-side without downtime.
- Click Confirm Restore.
The control plane generates a presigned download URL, the agent downloads and decompresses the archive, and restores the database engine cleanly.