S3 Compatible Backup - Store Your Home Assistant Backups on Any S3-Compatible Storage

Introduction

Hi everyone! :wave:

I’d like to introduce S3 Compatible Backup, a custom integration that extends Home Assistant’s native backup functionality to support any S3-compatible storage provider.

Whether you’re using AWS S3, MinIO, Wasabi, Backblaze B2, Cloudflare R2, or your own self-hosted solution – this integration seamlessly integrates with Home Assistant’s built-in backup system.

GitHub Repository: GitHub - bauer-group/IP-HomeassistantS3CompatibleBackup: This integration extends Home Assistant's built-in backup functionality to support any S3-compatible storage, not just AWS S3.


Supported Storage Providers

Provider Endpoint Example
AWS S3 https://s3.eu-central-1.amazonaws.com
MinIO https://minio.yourdomain.com
Wasabi https://s3.eu-central-1.wasabisys.com
Backblaze B2 https://s3.us-west-001.backblazeb2.com
DigitalOcean Spaces https://fra1.digitaloceanspaces.com
Cloudflare R2 https://<account-id>.r2.cloudflarestorage.com
Synology C2 https://eu-001.s3.synologyc2.net
Any other S3-compatible provider Your custom endpoint

Key Features

  • Full Backup Integration – Works directly with Home Assistant’s native backup system
  • Upload, Download, List & Delete – Complete backup lifecycle management
  • Multipart Upload – Efficient handling of large backups (automatically used for files >20MB)
  • Smart Caching – 5-minute TTL cache reduces API calls
  • Async/Non-blocking – Built on aiobotocore for optimal performance
  • Re-authentication Flow – Automatic prompt when credentials expire
  • Reconfiguration Support – Update settings without removing the integration
  • Internationalization – English and German translations included

Installation

Via HACS (Recommended)

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. Open HACS → Integrations
  2. Click ⋮ menu → Custom repositories
  3. Add: https://github.com/bauer-group/IP-HomeassistantS3CompatibleBackup
  4. Category: Integration
  5. Install and restart Home Assistant

Manual Installation

cd /config/custom_components
git clone https://github.com/bauer-group/IP-HomeassistantS3CompatibleBackup.git bauergroup_s3compatiblebackup

Configuration

After installation, add the integration via Settings → Devices & Services → Add Integration → S3 Compatible Backup.

You’ll need:

  • Access Key ID & Secret Access Key
  • Bucket Name (must already exist)
  • Endpoint URL (provider-specific)
  • Region (e.g., eu-central-1)
  • Storage Prefix (optional, default: homeassistant)

Your backups will be organized as:

bucket-name/
└── homeassistant/
    └── backups/
        ├── Home_Assistant_2025-12-02.tar
        └── Home_Assistant_2025-12-02.metadata.json

Required S3 Permissions

Minimal IAM policy for AWS:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:ListBucket",
        "s3:AbortMultipartUpload",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET-NAME",
        "arn:aws:s3:::YOUR-BUCKET-NAME/*"
      ]
    }
  ]
}

Requirements

  • Home Assistant 2024.1.0 or later
  • An S3-compatible storage provider with valid credentials
  • A pre-existing bucket

Feedback & Contributions

This is an open-source project and contributions are welcome! Feel free to:

  • Report issues on GitHub
  • Submit pull requests
  • Suggest new features

License

MIT License


I hope this integration helps you keep your Home Assistant backups safe and accessible. Looking forward to your feedback!

5 Likes

That looks good. Any particular differences between this and GitHub - PhantomPhoton/S3-Compatible: A custom component to enable using S3 compatible endpoints for home assistant backups?