Proxmox Backup Server with Enderchest
Proxmox Backup Server 4 can keep a datastore on S3-compatible storage with a local cache in front of it. With Enderchest behind it, VM and container backups go offsite at $3 per TB and restores cost nothing.
Endpoint https://s3.enderchest.store · region eu-ams-1 · path-style addressing · an access key from the console. 50 GB free on every account, then $3 per TB per month; downloads and API requests are free.
Register the endpoint
Create a bucket (for example pbs) and a read-write access key in the console. On the backup server, either use Configuration › Remotes › S3 Endpoints in the web interface, or:
proxmox-backup-manager s3 endpoint create enderchest \ --endpoint s3.enderchest.store \ --region eu-ams-1 \ --access-key YOUR_ACCESS_KEY_ID \ --secret-key YOUR_SECRET_ACCESS_KEY \ --path-style true
Path style is required: Enderchest addresses buckets as https://s3.enderchest.store/bucket, not as a subdomain.
Create the datastore
An S3 datastore needs a local cache on its own disk, partition or ZFS dataset. Proxmox recommends 64 to 128 GiB; it holds recently used chunks and metadata.
proxmox-backup-manager datastore create offsite /mnt/datastore/offsite-cache \ --backend type=s3,client=enderchest,bucket=pbs
Then add the datastore as storage in Proxmox VE as you would any other, and point backup jobs at it. Chunks are deduplicated before upload, so a nightly job sends only what changed.
Notes
This backend arrived in Proxmox Backup Server 4.0; earlier versions do not have it. The datastore name is used as the prefix inside the bucket, so reuse the same name if you ever recreate the datastore against the same bucket (with --reuse-datastore true). Storage is billed on what the bucket holds, $3 per TB per month after the free 50 GB, by the day; verification jobs and restores read for free.
Other clients
- rclone
- restic
- AWS CLI
- s3cmd and MinIO client
- boto3 (Python)
- Kopia
- Duplicati
- Pterodactyl
- Synology Hyper Backup
- TrueNAS
- WordPress (UpdraftPlus)
Every supported operation is listed in the documentation. Questions: [email protected].