DBdock uses the AWS SDK under the hood, so anything S3-compatible works: AWS S3, MinIO, Wasabi, DigitalOcean Spaces, Backblaze B2, etc.Documentation Index
Fetch the complete documentation index at: https://docs.dbdock.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Configuration
dbdock.config.json
endpoint:
.env
Required IAM permissions
Create a dedicated IAM user for DBdock with least-privilege access:my-dbdock-backups with your bucket name. The IAM user does not need any other permissions.
Bucket setup
Block public access
Under “Block Public Access”, enable all four settings. Backups should never be public.
Enable versioning
Under “Bucket Versioning”, enable it. This protects against ransomware — deleted backups can be recovered.
Enable encryption at rest
Under “Default encryption”, enable SSE-S3 (AES-256) or SSE-KMS. DBdock’s own encryption layer is separate — both work together.
Testing the connection
Storage: AWS S3 section in the output. DBdock uploads a tiny test object and deletes it to verify full read/write/delete permissions.
Cross-region replication
If you need multi-region disaster recovery, configure S3 Cross-Region Replication (CRR) on the bucket. DBdock is agnostic to this — it writes to the primary and S3 handles the replication.S3-compatible services
Tested combinations:| Service | Endpoint | Notes |
|---|---|---|
| AWS S3 | (omit) | Default |
| MinIO | https://minio.example.com | Self-hosted |
| Wasabi | https://s3.wasabisys.com | Cheaper S3-compatible |
| DigitalOcean Spaces | https://<region>.digitaloceanspaces.com | |
| Backblaze B2 | https://s3.<region>.backblazeb2.com | Use B2’s S3-compatible endpoint |
Common errors
Access Denied (403)
Access Denied (403)
- Check IAM policy is attached to the user
- Bucket name is correct and in the right region
- If using S3 block public access, IAM policy must explicitly allow the actions above
NoSuchBucket
NoSuchBucket
- Bucket name is misspelled
- Bucket exists in a different region — set
regioncorrectly
SignatureDoesNotMatch
SignatureDoesNotMatch
- Access/secret key pair is wrong or expired
- Clock drift on the machine running DBdock (S3 requires ±15 min of accurate time)
Cost considerations
For a typical setup (daily backup, 30-day retention, ~100 MB compressed backup):- Storage: 3 GB × 0.07/month
- Requests: ~60 PUT + 100 GET/LIST = negligible
- Egress on restore: $0.09/GB outside AWS
See also
Cloudflare R2
Zero-egress S3-compatible alternative.
Security
Storage security best practices.

