Hetzner — the best price/performance choice for AI support
Same specs cost 1/3 to 1/5 of AWS / AliCloud. Sizing, Ansible automation and monitoring end to end.
Hetzner Cloud / Hetzner Dedicated 60 min
Why Hetzner#
| Spec | Hetzner | AWS | AliCloud |
|---|---|---|---|
| 4 vCPU / 8 GB / 80 GB | $8.5/mo | ~$60/mo | ~¥240/mo |
| 8 vCPU / 16 GB / 160 GB | $17/mo | ~$120/mo | ~¥480/mo |
| Dedicated 64 GB | ~$55/mo | N/A at price | ~¥1600/mo |
But Hetzner DCs are in Europe (FRA / HEL / NBG) — 250ms+ from China. Fits:
- Users mostly in Europe / Americas
- Front with Cloudflare’s global edge
- Cross-border / overseas projects
Recommended sizing (mid prod)#
| Role | Instance | Monthly |
|---|---|---|
| Chatwoot | CPX31 (4C/8G/160G) | $17 |
| Dify | CPX41 (8C/16G/240G) | $32 |
| Postgres | CCX13 (2 dedicated vCPU / 8G / 80G) | $25 |
| Redis | CPX21 (3C/4G/80G) | $8.5 |
| Backups | Storage Box 1TB | $3.5 |
| Total | ~$86/mo |
Ansible boot#
# inventory.yml
all:
hosts:
chatwoot: { ansible_host: 1.2.3.4 }
dify: { ansible_host: 1.2.3.5 }
db: { ansible_host: 1.2.3.6 }
# playbook.yml
- hosts: all
become: yes
tasks:
- apt: name=[docker-ce, docker-compose-plugin] state=present
- ufw: rule=allow port=22
- ufw: rule=allow port=443
- ufw: state=enabled
Monitoring#
Hetzner ships Cloud Monitoring but Grafana Cloud’s free tier is better:
- Install
node_exporteron each instance - Scrape via Grafana Cloud
- Wire Alertmanager to Slack / Lark
Backups#
0 3 * * * pg_dump chatwoot | gzip > /backup/$(date +\%F).sql.gz
0 4 * * * rclone copy /backup hetzner-storage:backup/
Gotchas#
- PTR records — mail bounces if PTR isn’t set. Configure in Hetzner Robot per IP.
- Egress cap — Cloud instances include 20 TB / mo; €1/TB after.
- GDPR — natively compliant; declare Hetzner as a sub-processor in your DPA.