SFTP to Hetzner Object Storage, all in the EU
Hetzner Object Storage runs only in Germany and Finland, and CloudFile's SFTP servers run on Hetzner in Germany. Partner uploads go from an EU server into an EU bucket you own, on a monthly price that already includes 1 TB of storage and 1 TB of egress.
Hetzner Object Storage with CloudFile, at a glance.
| Endpoint | https://<location>.your-objectstorage.com, filled in from the location |
|---|---|
| URL style | Virtual-hosted |
| Credentials | S3 credentials from the project's Security → S3 Credentials. They work for every bucket in the project. |
| Locations | Falkenstein (fsn1) and Nuremberg (nbg1) in Germany, Helsinki (hel1) in Finland |
| Pricing model | €6.49 a month excl. VAT includes 1 TB of storage and 1 TB of egress across buckets. Extra storage is billed per TB-hour, extra egress at €1 per TB. |
Hetzner Object Storage prices are from their public website as of October 2026, excluding taxes. Your bucket is billed by Hetzner Object Storage, not by us, and doesn't count toward your plan's storage.
Why pair SFTP with Hetzner Object Storage.
EU from end to end
The SFTP server runs in Germany and the bucket sits in Germany or Finland, with a German provider on both sides. Easy to explain in a DPA.
Egress included
1 TB of egress a month is in the base price, and extra egress is €1 per TB. Partner downloads don't move the bill much.
Your bucket, your contract
Files are in your Hetzner project and billed to your account. Disconnect CloudFile and the data is still there, in a plain folder per user.
Fits a Hetzner stack
If your apps already run on Hetzner Cloud, they read the same bucket with any S3 client while CloudFile handles SFTP and FTP.
How it works, in three steps.
- Step 1
Create a project, bucket and credentials
Use a dedicated project, since credentials cover every bucket in it. Create a private bucket and generate S3 credentials.
project cloudfile bucket acme-sftp (fsn1, private) - Step 2
Connect it in CloudFile
Storage → Add bucket → Hetzner Object Storage. Pick fsn1, nbg1 or hel1 and paste the credentials.
https://fsn1.your-objectstorage.com ✓ test passed - Step 3
Uploads go to Hetzner
Each user writes under its own prefix in your bucket, and a webhook or email reports each upload.
acme → acme-sftp/acme/invoices/2026-10.pdf
Every click and field is in the Hetzner Object Storage setup guide.
What your partners see, and where it lands in Hetzner Object Storage.
$ sftp -P 22000 [email protected]
sftp> put invoice-2026-10.pdf
sftp> ls
invoice-2026-10.pdfYour Hetzner Object Storage bucket<bucket>/<folder>/acme/invoice-2026-10.pdf
<bucket>/<folder>/_shared/inbox/…Any SFTP, FTPS or FTP client: FileZilla, WinSCP, Cyberduck, the sftp command or their own system. WebDAV too, if you turn it on.
Their own home folder as /, and nothing else. They never see the bucket name, other users' folders or your keys.
A password, an SSH key or both, with the permissions you pick: full access, read only or upload only.
Shared folders at /shared/<name> when several users need the same files. They live under _shared/<name>/ in your Hetzner Object Storage bucket.
Get these right in Hetzner Object Storage.
Hetzner S3 credentials can't be limited to one bucket. Keep CloudFile's buckets in their own project so the key can't reach other data.
Bucket names are unique across all Hetzner locations, and the region must match the bucket's location.
The secret key is shown only once. If it was copied incompletely, generate new credentials.
Questions about SFTP on Hetzner Object Storage.
Can I keep all data in Germany?
Yes. Create the bucket in fsn1 or nbg1. CloudFile's SFTP servers also run in Germany, and the dashboard database is there too.
Why do you recommend a separate Hetzner project?
Hetzner credentials are per project, not per bucket. A project with only CloudFile's buckets keeps the key from reading or deleting anything else.
What does it cost on the Hetzner side?
Hetzner lists €6.49 a month excl. VAT with 1 TB of storage and 1 TB of egress included, shared across your buckets. Check their price page for the current numbers.
Is the bucket public?
Set it to private. CloudFile serves files over SFTP, FTP and WebDAV, and webhooks include presigned links that expire after an hour.
More in the docs: Hetzner Object Storage setup · Your own bucket · Webhooks