Appearance
Storage providers
Exact values for each provider. After filling them in, always click Test connection before saving.
| Provider | Endpoint | Region | Path-style | Notes |
|---|---|---|---|---|
| Amazon S3 | https://s3.<region>.amazonaws.com | e.g. eu-central-1 | no | Bucket must exist |
| Cloudflare R2 | https://<account-id>.r2.cloudflarestorage.com | auto | no | Use an R2 API token, not the global key |
| Backblaze B2 | https://s3.<region>.backblazeb2.com | e.g. eu-central-003 | no | Region is on the bucket page |
| Wasabi | https://s3.<region>.wasabisys.com | e.g. eu-central-1 | no | 90-day minimum storage charge |
| Hetzner Object Storage | https://<location>.your-objectstorage.com | e.g. fsn1 | no | Credentials are per bucket |
| DigitalOcean Spaces | https://<region>.digitaloceanspaces.com | e.g. fra1 | no | — |
| Linode / Akamai | https://<region>.linodeobjects.com | e.g. eu-central-1 | no | — |
| Scaleway | https://s3.<region>.scw.cloud | e.g. fr-par | no | — |
| MinIO (self-hosted) | https://minio.example.com | us-east-1, or as configured | yes | Tick Allow private network if on your LAN |
| Garage / Ceph / SeaweedFS | as configured | as configured | usually yes | Any S3-compatible endpoint works |
| SFTP | host + port 22 | — | — | Pin the host key after the test |
Amazon S3
- In IAM, create a policy with these permissions:
json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:ListBucket", "s3:AbortMultipartUpload"],
"Resource": ["arn:aws:s3:::YOUR-BUCKET", "arn:aws:s3:::YOUR-BUCKET/*"]
}]
}- Attach it to a user, create an access key, and use that key and secret.
- Turn on Block Public Access. Only signed requests are used.
- Optional: add a lifecycle rule to abort incomplete multipart uploads after seven days.
Cloudflare R2
- R2 → Manage API tokens → Create token with Object Read & Write, scoped to the bucket.
- Endpoint
https://<ACCOUNT_ID>.r2.cloudflarestorage.com, regionauto. - R2 does not charge for downloads, which makes it the cheapest option if you restore often.
Backblaze B2
- Application Keys → Add a new application key, restricted to the bucket, read and write.
- Copy the key ID and the application key — the secret is shown once.
- The region and endpoint are on the bucket page.
Wasabi
- Access Keys → Add user, or create a sub-user with a bucket policy.
- Endpoint
https://s3.<region>.wasabisys.com. - Wasabi has a 90-day minimum storage charge, which matters if your retention is short.
Hetzner Object Storage
- Object Storage → Create bucket, then create credentials for it.
- Endpoint
https://<location>.your-objectstorage.com. - Cheap, in the EU, and no egress charges.
MinIO or other self-hosted storage
- Use an endpoint your panel can reach. If MinIO is on the panel host, use its LAN address, not
localhost. - Tick Allow private network addresses and Use path-style requests.
- For a self-signed certificate, install the CA on the panel host. Do not disable TLS verification.
SFTP
| Field | Value |
|---|---|
| Host | backup.example.com |
| Port | 22 |
| User | a dedicated user with write access to one directory |
| Path | an absolute path, for example /backups/pterodactyl |
| Auth | a key is preferred; paste the private key and its passphrase if set |
After a successful test, click Pin this host key. Restores are refused until it is pinned.
Sizing and retention
| Backups | Copies kept | Suggested |
|---|---|---|
| 5 servers × 2 GB | 7 | Any provider; about 70 GB |
| 50 servers × 5 GB | 7 | Hetzner or R2; about 1.75 TB |
| 200 servers × 10 GB | 14 | B2 or Hetzner; 28 TB — negotiate pricing |
Retention defaults are deliberately conservative and keep everything. Set a limit once you know your growth rate.
Checking a copy exists outside the panel
Every copy folder contains the archive plus a manifest.json with the original name, size, checksum, server identifier and creation time. That file is what makes recovery possible without the panel database.
Choosing between providers
- Cheapest for frequent restores: Cloudflare R2 or Hetzner, because downloads are free.
- Cheapest for cold storage: Backblaze B2.
- Already have a NAS? SFTP or MinIO on your own hardware works, with no monthly cost.
- Multiple destinations: tick several in one rule. The first is the primary copy; the rest are extra copies, and S3 and SFTP can be mixed.