Introduction
Hi everyone! ![]()
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.
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 HACS → Integrations
- Click ⋮ menu → Custom repositories
- Add:
https://github.com/bauer-group/IP-HomeassistantS3CompatibleBackup - Category: Integration
- 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!