Backups

Temps backs up managed services automatically on your schedule and stores the result in any S3-compatible bucket. Configure a schedule once, and Temps handles snapshot capture, upload, retention cleanup, and failure alerting. Restore in place or clone to a new service from any past backup.

Loading diagram...

Quick start

Enable automatic backups

  1. Go to Project Settings - Navigate to your project
  2. Open Backups Tab - Click on "Backups" in settings
  3. Create Backup Schedule - Set frequency and retention
  4. Done - Backups run automatically

Create backup now

Run a backup now

  1. 1

    Open the service detail page for the managed service you want to back up.

  2. 2

    Click Run Backup Now.

    Checkpoint: Watch the backup appear in the Backups tab and wait until its status shows completed.

# Trigger an immediate backup for a managed service
bunx @temps-sdk/cli backups run-service \
  --id <service-id> \
  --s3-source-id <s3-source-id> \
  --type full

You can also trigger a backup from the web UI: open the service detail page and click Run Backup Now.


What gets backed up

Application data

  • Container volumes - Persistent data written to mounted paths inside the container
  • File uploads - User-uploaded files stored on the service filesystem
  • Configuration files - App-specific configs present on the volume

Database backups

If you're using managed databases:

  • PostgreSQL - Full database dumps
  • Redis - RDB snapshots
  • MySQL - Database exports
  • MongoDB - Database dumps

Configuration

  • Environment variables - Encrypted backup
  • Deployment settings - Resource limits, ports
  • Domain configurations - SSL certificates, routing
  • Team settings - Permissions, access

Backup schedules

Create schedule

Create a backup schedule

  1. 1

    Navigate to your project and open Project Settings.

  2. 2

    Click the Backups tab in settings.

  3. 3

    Click Create Backup Schedule and set the frequency (e.g. daily at 2 AM), backup type (full or incremental), and retention period (e.g. 30 days).

    Checkpoint: Confirm the new schedule appears in the Backups tab so future runs fire automatically.

# Daily full backup at 2 AM, kept for 30 days
bunx @temps-sdk/cli backups schedules create \
  --name "daily-full" \
  --schedule "0 2 * * *" \
  --type full \
  --retention 30 \
  --s3-source-id <s3-source-id>

# Weekly full backup on Sundays at 3 AM, kept for 90 days
bunx @temps-sdk/cli backups schedules create \
  --name "weekly-full" \
  --schedule "0 3 * * 0" \
  --type full \
  --retention 90 \
  --s3-source-id <s3-source-id>

# Every 6 hours incremental backup, kept for 7 days
bunx @temps-sdk/cli backups schedules create \
  --name "6h-incremental" \
  --schedule "0 */6 * * *" \
  --type incremental \
  --retention 7 \
  --s3-source-id <s3-source-id>

Schedule options

Frequency:

  • Hourly - Every X hours
  • Daily - Once per day at specific time
  • Weekly - Once per week on specific day
  • Monthly - Once per month on specific date

Retention:

  • Keep backups for X days
  • Automatic cleanup of old backups
  • Configurable per schedule

Backup storage

Storage options

Local Storage (Default)

  • Stored on Temps server
  • Fast access
  • Included in Temps hosting

S3-Compatible Storage

  • AWS S3, MinIO, DigitalOcean Spaces
  • Off-site backup
  • Configurable regions

External Storage

  • Custom S3-compatible endpoints
  • Your own storage infrastructure

Configure storage

Add an S3 backup source

  1. 1

    Open Project Settings and click the Backups tab.

  2. 2

    Add a new S3 backup source and enter the bucket name, region, and access/secret keys (set a custom endpoint for MinIO or DigitalOcean Spaces).

  3. 3

    Save the source.

    Checkpoint: Confirm the source is listed so schedules and on-demand backups can target it.

# Add an S3-compatible backup source
bunx @temps-sdk/cli backups sources create \
  --name "my-s3-backups" \
  --bucket my-backups \
  --region us-east-1 \
  --access-key YOUR_KEY \
  --secret-key YOUR_SECRET

# List configured sources
bunx @temps-sdk/cli backups sources list --json

Restore from backup

List backups

# List backups for a specific schedule
bunx @temps-sdk/cli backups list --schedule-id <schedule-id> --json

# Show details for a specific backup
bunx @temps-sdk/cli backups show --id <backup-id> --json

# List all configured schedules
bunx @temps-sdk/cli backups schedules list --json

Restore backup

Restore a service from a backup

  1. 1

    Open the service detail page.

  2. 2

    Go to the Backups tab.

  3. 3

    Click Restore next to the backup you want to restore from. An in-place restore (no new-service option selected) is DESTRUCTIVE and will OVERWRITE the existing service data — confirm the OVERWRITE prompt to proceed.

    Checkpoint: Track the restore run until it reports complete, then verify application and database data.

# Restore a specific backup to a service
bunx @temps-sdk/cli services restore \
  --id <service-id> \
  --backup-id <backup-id>

You can also initiate a restore from the web UI: open the service detail page, go to the Backups tab, and click Restore next to any listed backup.

What gets restored

  • Application data - All volumes and files
  • Database data - If using managed databases
  • Configuration - Environment variables and settings

What doesn't get restored

  • Deployment history - Previous deployments stay
  • Analytics data - Historical analytics preserved
  • Team members - User access unchanged

Backup best practices

Regular backups

  • Daily for production - Critical applications
  • Weekly for staging - Less critical environments
  • Before major changes - Manual backup before migrations
  • After deployments - Backup after successful deployments

Test restores

Regularly test your restore process:

# Restore a known-good backup to the staging service
bunx @temps-sdk/cli services restore \
  --id <staging-service-id> \
  --backup-id <backup-id>

# Verify data integrity
# Test application functionality

Backup verification

Temps computes a SHA-256 checksum after each upload and stores it with the backup record. If a backup fails or the checksum does not match on retrieval, Temps emits a failure alert so you can act before you need to restore. Periodic restore tests to a staging service are the best way to confirm full recoverability.


Disaster recovery

Recovery plan

  1. Identify the issue - What data was lost?
  2. Find the backup - Locate the right backup
  3. Restore backup - Restore to staging first
  4. Verify data - Check data integrity
  5. Restore to production - Restore when verified
  6. Monitor closely - Watch for issues

Recovery time

  • Backup retrieval - Seconds to minutes
  • Data restoration - Minutes to hours (depends on size)
  • Application restart - Minutes
  • Total recovery - Usually under 1 hour

Backup management

Manage schedules

Disable, enable, or delete a schedule

  1. 1

    Open Project Settings and click the Backups tab.

  2. 2

    Find the schedule you want to manage in the list.

  3. 3

    Disable it to pause future runs, re-enable it to resume, or delete it to stop future runs (past backups remain in S3).

    Checkpoint: Confirm the schedule's status reflects the change in the Backups tab.

# Disable a schedule (pauses future runs without deleting past backups)
bunx @temps-sdk/cli backups schedules disable --id <schedule-id>

# Re-enable a previously disabled schedule
bunx @temps-sdk/cli backups schedules enable --id <schedule-id>

# Delete a schedule (stops future runs; past backups remain in S3)
bunx @temps-sdk/cli backups schedules delete --id <schedule-id>

Access backup files

Individual backup files are stored directly in your configured S3-compatible bucket. To download or export a backup, access it through your S3 provider's console, CLI (aws s3 cp, mc cp, etc.), or any S3-compatible client using the credentials from your backup source.

For the step-by-step setup walkthrough, see Set Up Backups & Monitoring. For in-place restore, clone-to-new-service, and point-in-time recovery, see Restore & Recovery.

Was this page helpful?