Skip to main content

Storage Destinations

Storage destinations define where FireBackup stores your backup data. FireBackup supports multiple cloud storage providers, allowing you to choose based on cost, compliance, or redundancy requirements.

Supported Storage Providers

ProviderTypeBest For
Amazon S3Object StorageAWS-centric infrastructure
Google Cloud StorageObject StorageGCP integration, Firebase alignment
DigitalOcean SpacesS3-compatibleCost-effective, simple setup
Firebase StorageObject StorageFirebase ecosystem
Custom S3-compatibleS3-compatibleMinIO, Wasabi, Backblaze B2

Adding a Storage Destination

  1. Go to Settings in the sidebar
  2. Click Storage tab
  3. Click Add Storage Destination

Amazon S3 Setup

Step 1: Create IAM User

  1. Go to AWS IAM Console
  2. Create a new IAM user
  3. Attach the following policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}
  1. Create access keys and save them securely

Step 2: Configure in FireBackup

  1. Select Amazon S3 as provider
  2. Enter configuration:
FieldDescription
NameDisplay name for this destination
Access Key IDAWS access key ID
Secret Access KeyAWS secret access key
RegionAWS region (e.g., us-east-1)
Bucket NameS3 bucket name
Path PrefixOptional folder path within bucket
  1. Click Verify Connection to test
  2. Click Save

See AWS S3 Setup Tutorial for detailed instructions.

Google Cloud Storage Setup

Step 1: Create Service Account

  1. Go to Google Cloud Console
  2. Navigate to IAM & Admin > Service Accounts
  3. Create a new service account
  4. Grant Storage Object Admin role
  5. Create and download JSON key

Step 2: Configure in FireBackup

  1. Select Google Cloud Storage as provider
  2. Enter configuration:
FieldDescription
NameDisplay name for this destination
Service Account JSONUpload or paste JSON key
Bucket NameGCS bucket name
Path PrefixOptional folder path within bucket
  1. Click Verify Connection to test
  2. Click Save

See GCS Setup Tutorial for detailed instructions.

DigitalOcean Spaces Setup

Step 1: Create Spaces Access Keys

  1. Go to DigitalOcean Control Panel
  2. Navigate to API > Spaces Keys
  3. Generate new key pair

Step 2: Configure in FireBackup

  1. Select DigitalOcean Spaces as provider
  2. Enter configuration:
FieldDescription
NameDisplay name for this destination
Access KeySpaces access key
Secret KeySpaces secret key
RegionSpaces region (e.g., nyc3)
Space NameName of the Space
Path PrefixOptional folder path
  1. Click Verify Connection to test
  2. Click Save

See DigitalOcean Spaces Tutorial for detailed instructions.

Firebase Storage Setup

Configuration

  1. Select Firebase Storage as provider
  2. Enter configuration:
FieldDescription
NameDisplay name for this destination
Project IDFirebase project ID
BucketStorage bucket (default: project-id.appspot.com)
Path PrefixOptional folder path

Firebase Storage uses the same OAuth credentials as the connected Firebase project.

Custom S3-Compatible Setup

For MinIO, Wasabi, Backblaze B2, or other S3-compatible storage:

FieldDescription
NameDisplay name for this destination
EndpointCustom endpoint URL
Access KeyAccess key ID
Secret KeySecret access key
BucketBucket name
RegionRegion (if applicable)
Path PrefixOptional folder path
Force Path StyleEnable for MinIO and some providers

Managing Storage Destinations

Viewing Destinations

The storage page shows all configured destinations:

ColumnDescription
NameDisplay name
ProviderStorage provider type
BucketBucket/container name
StatusConnection status
BackupsNumber of backups stored
SizeTotal storage used

Default Destination

Set a default destination for new backups:

  1. Click the star icon next to a destination
  2. This destination becomes the default for:
    • New schedules
    • Manual backups (unless overridden)

Testing Connection

Verify a destination is working:

  1. Click Test Connection on the destination
  2. FireBackup will:
    • Verify credentials
    • Test read/write access
    • Check bucket permissions

Editing Destinations

To modify a destination:

  1. Click Edit on the destination
  2. Update configuration
  3. Click Verify Connection
  4. Click Save
Changing Destinations

Changing bucket or credentials may make existing backups inaccessible. Ensure you have copies of important data before changing configuration.

Deleting Destinations

To remove a destination:

  1. Click Delete on the destination
  2. Choose whether to delete stored backups
  3. Confirm deletion
Backup Deletion

If you choose to delete stored backups, this action is permanent and cannot be undone.

Browsing Stored Files

View files stored in a destination:

  1. Navigate to the storage destination
  2. Click Browse Files
  3. Navigate the folder structure
  4. View backup files and metadata

File Actions

  • View Details - See file metadata and properties
  • Download - Download backup file
  • Delete - Remove individual files

Storage Statistics

Per-Destination Statistics

Each destination shows:

MetricDescription
Total BackupsNumber of backups stored
Total SizeStorage consumption
Oldest BackupDate of oldest backup
Newest BackupDate of most recent backup
Growth RateStorage growth over time

Organization Storage Overview

View aggregate storage across all destinations:

  • Total storage used
  • Storage by provider
  • Storage by project
  • Growth trends

Retention Policies

Configure automatic cleanup of old backups:

Setting Up Retention

  1. Navigate to storage destination
  2. Click Retention Policy
  3. Configure retention rules

Retention Options

OptionDescription
Keep AllNever auto-delete
Keep Last NKeep only N most recent backups
Keep N DaysDelete backups older than N days
Keep N GBDelete oldest when size exceeds N GB

Retention Execution

  • Retention runs daily at midnight UTC
  • Oldest backups are deleted first
  • PITR data follows its own retention settings
Compliance Consideration

Ensure retention periods meet your compliance requirements before enabling auto-deletion.

Storage Sync

Synchronize metadata between FireBackup and storage:

When to Sync

  • After manual file operations in storage
  • If backup counts seem incorrect
  • After storage provider issues

Running Sync

  1. Navigate to storage destination
  2. Click Sync Storage
  3. FireBackup will:
    • Scan storage for backup files
    • Update metadata in database
    • Report any orphaned files

Orphan File Management

Files in storage without corresponding database records:

  • Keep - Leave files in storage
  • Delete - Remove orphaned files
  • Import - Add to FireBackup database (if valid backup format)

Multi-Region Redundancy

For disaster recovery, configure multiple destinations:

Setting Up Redundancy

  1. Add primary storage destination (e.g., US-East)
  2. Add secondary storage destination (e.g., EU-West)
  3. Configure schedules to backup to both

Redundancy Strategy

Primary Destination: AWS S3 (us-east-1)
- All backups

Secondary Destination: GCS (europe-west1)
- Daily full backups only
- 30-day retention

This provides:

  • Local access with low latency
  • Geographic redundancy for disaster recovery
  • Cost optimization by limiting secondary storage

Security Considerations

Encryption in Transit

All data transferred to storage is encrypted using TLS 1.2+.

Encryption at Rest

FireBackup encrypts backup data before upload:

  • AES-256-GCM encryption
  • Per-backup unique encryption keys
  • Keys derived from organization master key

Storage Provider Encryption

Most providers offer additional encryption:

ProviderDefault EncryptionOptions
AWS S3SSE-S3SSE-KMS, SSE-C
GCSGoogle-managedCustomer-managed keys
DO SpacesServer-sideN/A
Double Encryption

FireBackup encryption + provider encryption provides defense in depth.

Service Account Management

Manage service accounts used for storage and Firebase access:

Viewing Service Accounts

  1. Go to Settings > Storage
  2. Scroll to Service Accounts section

Adding Service Account

  1. Click Add Service Account
  2. Upload JSON key file
  3. FireBackup validates:
    • JSON format
    • Required fields present
    • Scopes available
  4. Click Save

Service Account Usage

Service accounts can be used for:

  • Storage destinations - GCS access
  • Firebase projects - Backup operations
  • PITR monitoring - Audit log access

Removing Service Account

  1. Click Remove on the service account
  2. Confirm deletion
  3. Associated destinations will need reconfiguration
Dependency Check

Before removing a service account, ensure no active destinations or projects depend on it.

Troubleshooting

"Connection Failed" Error

Possible causes:

  1. Invalid credentials
  2. Bucket doesn't exist
  3. Insufficient permissions
  4. Network issues

Solution:

  1. Verify credentials are correct
  2. Confirm bucket exists and is accessible
  3. Check IAM/permission policies
  4. Test from your network

"Access Denied" Error

Possible causes:

  1. Missing IAM permissions
  2. Bucket policy restrictions
  3. Service account revoked

Solution:

  1. Review required permissions for provider
  2. Check bucket policies allow access
  3. Regenerate service account key

"Storage Full" Error

Possible causes:

  1. Storage quota exceeded
  2. Billing issues with provider

Solution:

  1. Check storage quotas in provider console
  2. Clean up old backups
  3. Configure retention policy
  4. Upgrade storage plan

Next Steps