# Hetzner Object Storage

> Connect Hetzner Object Storage to BucketMate with S3 credentials and a location endpoint

Canonical: https://docs.bucketmate.app/macos/providers/connect-hetzner

BucketMate connects to Hetzner Object Storage through Hetzner's S3-compatible endpoints. BucketMate for macOS and iOS has a dedicated **Hetzner Object Storage** provider option.

## Prerequisites

- Hetzner Console project with Object Storage
- Bucket location: `fsn1`, `nbg1`, or `hel1`
- S3 access key
- S3 secret key
- Bucket

## Endpoint and region

Use this endpoint format:

```text
https://<location>.your-objectstorage.com
```

| Location | Region | Endpoint |
| --- | --- | --- |
| Falkenstein | `fsn1` | `https://fsn1.your-objectstorage.com` |
| Nuremberg | `nbg1` | `https://nbg1.your-objectstorage.com` |
| Helsinki | `hel1` | `https://hel1.your-objectstorage.com` |

The region must equal the location in the endpoint, and the endpoint location must match the location where the bucket was created. When you pick a region, BucketMate fills in the matching endpoint.

## Connection steps

1. Open the Hetzner Console.
2. Open the project that holds your buckets.
3. Go to **Security** > **S3 credentials**.
4. Generate new credentials.
5. Copy the access key and secret key. Hetzner shows the secret key only once.
6. Open BucketMate.
7. Choose **Add connection**.
8. Select **Hetzner Object Storage**.
9. Pick the region that matches your bucket: `fsn1`, `nbg1`, or `hel1`.
10. Check that the endpoint uses the same location, for example `https://fsn1.your-objectstorage.com`.
11. Enter the access key and secret key.
12. Use **Test Connection**.
13. Choose **Connect**.

## Common issues and fixes

### SignatureDoesNotMatch

The region and the endpoint location don't match, or the secret key was copied incorrectly. Use the same location for both and paste the secret key again.

### Bucket not found

The bucket lives in a different location than the endpoint. Change the region and endpoint to the bucket's location. Add a separate connection for each location you use.

### Invalid access key

S3 credentials belong to one Hetzner project. Generate credentials in the project that owns the bucket.

### 503 SlowDown

Hetzner limits each bucket and each source IP to 750 requests per second. Wait a moment and retry with fewer parallel transfers.

### Buckets do not load

If the credentials can't list buckets, turn off **Load all buckets** and add the bucket names manually.

## BucketMate tips

- Group connections for `fsn1`, `nbg1`, and `hel1` in one workspace to work across locations.
- Use presigned links for temporary access to private objects.
- Objects smaller than 64 KB are billed as 64 KB, so bundle tiny files before uploading large batches.

## Read More

[Hetzner Object Storage overview](https://docs.hetzner.com/storage/object-storage/overview/)
