Connect Hetzner Cloud Account
Hetzner Cloud gives you servers at great prices, especially in Europe, and the same account can manage your Hetzner DNS zones.
One token for servers and DNS. Hetzner moved DNS into the Hetzner Console in May 2026, so a project API token now manages both the servers and the DNS zones in that project. Old tokens from dns.hetzner.com no longer work. See DNS providers for DNS setup.
Generate an API Token
- Go to console.hetzner.com (opens in a new tab) and select your project
- Click Security > API Tokens > Generate API Token
- Set permissions to Read & Write (required)
- Copy the token immediately -- it's only shown once
Hetzner tokens are project-specific. If you have multiple projects, you'll need a token from each one.
Add to OEC.sh
Go to Settings > Cloud Accounts > Add Account > Hetzner Cloud.
Paste your API token and click Add Account. The account shows Active with Compute and DNS badges. DNS works for the zones in the same Hetzner project.
Server Types
Hetzner typically runs 50-70% cheaper than AWS/Azure for similar specs.
| Type | vCPU | RAM | Disk | ~Monthly |
|---|---|---|---|---|
| CX11 | 1 | 2 GB | 20 GB | ~4 EUR |
| CX21 | 2 | 4 GB | 40 GB | ~6 EUR |
| CX31 | 2 | 8 GB | 80 GB | ~11 EUR |
| CX41 | 4 | 16 GB | 160 GB | ~21 EUR |
| CPX11 | 2 | 2 GB | 40 GB | ~5 EUR |
| CPX21 | 3 | 4 GB | 80 GB | ~8 EUR |
| CPX31 | 4 | 8 GB | 160 GB | ~16 EUR |
For Odoo: CX21 for dev, CX31 for small production, CX41 for medium production.
Locations
| Code | City | Country |
|---|---|---|
fsn1 | Falkenstein | Germany |
nbg1 | Nuremberg | Germany |
hel1 | Helsinki | Finland |
ash | Ashburn | USA |
hil | Hillsboro | USA |
German locations (fsn1, nbg1) usually have the best pricing and availability.
What About Storage and DNS?
Hetzner Cloud doesn't have S3-compatible object storage, and the Cloud API token doesn't work for Hetzner DNS. Pair it with:
| Need | Recommended |
|---|---|
| DNS | Cloudflare (free), Route53, or any other DNS provider |
| Backup Storage | Cloudflare R2, AWS S3, or Backblaze B2 |
Troubleshooting
"Invalid credentials" -- Token is wrong or revoked. Check in Hetzner Console > Security > API Tokens.
"Insufficient permissions" -- Token was created as Read-only. Delete it and create a new one with Read & Write.
Server creation fails -- New accounts have limits. Try a different datacenter or server type. Verify payment method.
Servers not visible -- Hetzner tokens are project-specific. Make sure the token was created in the correct project.
DNS not working -- Hetzner Cloud tokens don't do DNS. Use a different DNS provider in OEC.sh.