If you run a Pterodactyl game panel, you can point its server backups at your object storage bucket instead of local disk. To Pterodactyl your bucket is simply an S3 endpoint.
What you need
From your storage service in the client area:
- Endpoint / host and region — Bucket Options tab ("Server Host", "Server Region").
- Bucket name — Bucket Options tab.
- Access key ID + secret key — create a dedicated key on the Access Keys tab (name it for the panel, so you can revoke it independently later). Remember: the secret is shown only once.
Panel configuration
Edit the panel's .env file and set the S3 backup driver:
APP_BACKUP_DRIVER=s3
AWS_DEFAULT_REGION= your region
AWS_ACCESS_KEY_ID= your access key ID
AWS_SECRET_ACCESS_KEY= your secret key
AWS_BACKUPS_BUCKET= your bucket name
AWS_ENDPOINT= your endpoint URL (e.g. https://s3.example.com)
AWS_USE_PATH_STYLE_ENDPOINT=true — required; the bucket is addressed in the URL path
Then clear the panel's config cache (php artisan config:clear in the panel directory) and run a test backup on any server.
Tips
- Keep the bucket private (the default). Backups must never be publicly downloadable.
- Backups can grow quickly. Add a lifecycle rule (Bucket Options tab) with a prefix matching where the panel stores backups to expire old archives automatically, or watch the Usage tab so you don't hit your quota mid-backup — a full bucket makes new backups fail.
- Pterodactyl uploads large backups in parts; this works out of the box, no extra settings needed.
- Egress note: creating backups is an upload (never billed); restoring or downloading a backup counts as egress.