Hetzner Object Storage runs only in EU datacenters: Falkenstein and Nuremberg in Germany, and Helsinki in Finland. You pay hourly with a monthly cap, and the base price includes a storage and egress quota.
Before you start
- A Hetzner account with access to the Hetzner Console.
- A project for the bucket. S3 credentials work for every bucket in their project, so we recommend a dedicated project that holds only the buckets you use with CloudFile.
1. Create the bucket
- In the Hetzner Console, open the project and choose Object Storage in the left menu.
- Choose Create Bucket.
- Pick a Location:
fsn1(Falkenstein),nbg1(Nuremberg) orhel1(Helsinki). - Enter a name. It must be unique across all Hetzner locations.
- Set Visibility to private. CloudFile hands out presigned download links, so the bucket never needs to be public.
- Choose Create & Buy now.
2. Create an access key
- In the same project, go to Security in the left menu and open S3 Credentials.
- Choose Generate credentials and enter a description, for example
cloudfile. - Copy the access key and the secret key. Hetzner shows the secret only once.
Hetzner can’t limit a key to one bucket: each key pair works for every bucket in its project. Keeping CloudFile’s buckets in their own project is what stops the key from reaching your other data.
3. Connect it
In CloudFile, go to Storage → Add bucket and choose Hetzner Object Storage:
| Field | Value |
|---|---|
| Bucket | Your bucket name |
| Region | The bucket’s location: fsn1, nbg1 or hel1 |
| Endpoint | https://<region>.your-objectstorage.com (filled in from the region) |
| Access key ID | The access key from step 2 |
| Secret access key | The secret key from step 2 |
| Name | Optional, e.g. Production |
| Path-style URLs | Off |
Click Test connection, then Save. To use the bucket, open a server and pick it under Settings → Storage.
Troubleshooting
- Writing a test file failed with a
NoSuchBucketor redirect error. The region doesn’t match the bucket’s location. The bucket list in the Hetzner Console shows each bucket’s location. - Writing a test file failed with an invalid access key or Access Denied error. The credentials belong to a different project than the bucket. Generate credentials in the bucket’s project.
- Writing a test file failed with a signature error. The secret key was copied incompletely. Generate new credentials; the old secret can’t be shown again.
See Your own bucket for how files are laid out in the bucket.