Features
Cloud Accounts
Hetzner Cloud

Connect Hetzner Cloud Account

Connect your Hetzner Cloud account to OEC.sh for cost-effective European server provisioning.

What You'll Get

After connecting your Hetzner Cloud account, OEC.sh can:

CapabilityWhat It Enables
ComputeAuto-provision Hetzner Cloud servers

Important: Hetzner Cloud only provides compute. For DNS and storage, see Critical: Hetzner Services.


Critical: Hetzner Cloud vs Hetzner DNS

Hetzner operates two completely separate services with different consoles and API tokens:

ServiceConsole URLWhat It DoesAPI Compatibility
Hetzner Cloudconsole.hetzner.cloudCloud servers (VMs)Uses Cloud API tokens
Hetzner DNS Consoledns.hetzner.comDNS managementUses separate DNS API tokens

Why This Matters

  • A Hetzner Cloud API token only works for servers
  • A Hetzner DNS API token only works for DNS
  • They are not interchangeable
  • You need two different tokens for compute + DNS

For DNS with Hetzner

If you need DNS management with Hetzner:

  1. Go to dns.hetzner.com (opens in a new tab) (separate from Cloud Console!)
  2. Create an API token there
  3. In OEC.sh, add it as a Cloudflare/Generic DNS provider (coming soon)

Prerequisites

Before you begin, ensure you have:


Step-by-Step Connection

Step 1: Access Hetzner Cloud Console

  1. Go to console.hetzner.cloud (opens in a new tab)
  2. Sign in to your account
  3. Select your project (or create one if needed)

Step 2: Generate API Token

  1. In your project, click Security in the left sidebar
  2. Click API Tokens tab
  3. Click Generate API Token
  4. Configure the token:
SettingValue
DescriptionOEC.sh Integration
PermissionsRead & Write (required)
  1. Click Generate API Token

IMPORTANT: Copy the token immediately - it's only shown once!

The token looks like: Kfm7KLBu3pfYrATNcAB6qFh7L3xRyddCjRtAQoByW5e2eQqJlZc2G9T0P0157mQC

Step 3: Add to OEC.sh

  1. Go to app.oec.sh (opens in a new tab) > Settings > Cloud Accounts
  2. Click Add Account
  3. Under API Key Authentication, click Hetzner Cloud
  4. Fill in the form:
FieldValue
Account NameHetzner Production (or your preferred name)
API TokenPaste your Hetzner Cloud API token
  1. Click Add Account

Step 4: Verify Connection

  1. Your Hetzner account should appear in the list
  2. Status should show Active (green badge)
  3. Click the refresh icon to validate
  4. You should see: Compute capability badge (only)

Understanding the Compute-Only Limitation

Unlike DigitalOcean or AWS, Hetzner Cloud accounts in OEC.sh only support server provisioning:

What Works

  • Create new cloud servers
  • List available server types and images
  • Manage SSH keys on Hetzner
  • Start/stop/delete servers

What Doesn't Work (Different Service)

  • DNS management (requires separate Hetzner DNS token)
  • Object storage (Hetzner doesn't have S3-compatible storage)

Workarounds

NeedSolution
DNSUse Cloudflare, Route53, or other DNS provider
Backup StorageUse Cloudflare R2, AWS S3, or Backblaze B2

Using Your Hetzner Account

For Server Provisioning

  1. Go to Servers > Add Server
  2. Choose Provision from Cloud
  3. Select your Hetzner account
  4. Choose:
    • Location (e.g., Nuremberg, Falkenstein, Helsinki)
    • Server type (e.g., CX21, CPX21)
  5. Click Provision

Hetzner Server Types

Hetzner offers excellent price-performance:

TypevCPURAMDiskMonthly Cost*
CX1112 GB20 GB~€4.15
CX2124 GB40 GB~€5.83
CX3128 GB80 GB~€11.08
CX41416 GB160 GB~€20.77
CPX1122 GB40 GB~€4.55
CPX2134 GB80 GB~€8.47
CPX3148 GB160 GB~€15.59

*Prices approximate, check Hetzner for current pricing.

Recommended for Odoo

Use CaseServer TypeWhy
DevelopmentCX212 vCPU, 4GB RAM - good for testing
Small ProductionCX318GB RAM for PostgreSQL + Odoo
Medium ProductionCX4116GB RAM for busier instances
Large ProductionCX5132GB RAM for high traffic

Hetzner Locations

Location CodeCityCountry
fsn1FalkensteinGermany
nbg1NurembergGermany
hel1HelsinkiFinland
ashAshburnUSA
hilHillsboroUSA

Tip: German locations (fsn1, nbg1) typically have the best pricing and availability.


Managing Your Connection

Rotate API Token

For security, rotate your Hetzner token periodically:

  1. Generate a new token in Hetzner Console
  2. Edit your cloud account in OEC.sh
  3. Enter the new token
  4. Delete the old token in Hetzner Console

Delete Account

  1. In OEC.sh, click Delete on the account
  2. Optionally, revoke the API token in Hetzner Console

Troubleshooting

"Invalid credentials" Error

Cause: API token is incorrect or revoked.

Solution:

  1. Verify the token in Hetzner Console > Security > API Tokens
  2. Check the token hasn't been deleted
  3. Generate a new token if needed
  4. Ensure you copied the complete token (no spaces)

"Insufficient permissions" Error

Cause: Token was created with Read-only permissions.

Solution:

  1. Go to Hetzner Console > Security > API Tokens
  2. The token must have Read & Write permissions
  3. If Read-only, delete it and create a new one with full permissions

Server Creation Fails

Cause: Could be project limits or account issues.

Solutions:

  1. Limits: Check Hetzner project limits (new accounts have restrictions)
  2. Payment: Verify payment method is valid
  3. Location: Try a different datacenter location
  4. Server Type: Some types may be unavailable - try another

"Wrong project" - Servers Not Visible

Cause: Token was created in a different project.

Solution:

  1. Hetzner tokens are project-specific
  2. Verify you're in the correct project in Hetzner Console
  3. Create a new token in the correct project

DNS Not Working

Cause: Hetzner Cloud tokens don't work for DNS.

Solution:

  1. Understand that Hetzner DNS is a separate service
  2. Go to dns.hetzner.com (opens in a new tab) for DNS management
  3. Use a different DNS provider in OEC.sh (Cloudflare, Route53, etc.)

Why Choose Hetzner?

Advantages

  • Price: 50-70% cheaper than AWS/Azure for similar specs
  • Performance: High-quality hardware, NVMe storage
  • European: GDPR-compliant, German company
  • Simple: Easy to use, no complex IAM
  • Sustainable: Carbon-neutral datacenter operations

Considerations

  • Compute only (need separate DNS/storage providers)
  • Fewer locations than hyperscalers
  • No managed services (RDS, etc.)

Cost Considerations

Hetzner charges:

ResourceBilling
Cloud ServersHourly (capped at monthly max)
SnapshotsPer GB per month
Load BalancersFixed monthly rate
Outbound TrafficIncluded up to limit, then per GB

Hetzner is one of the most cost-effective cloud providers - perfect for Odoo deployments where you want great performance without enterprise cloud costs.


Next Steps