From ct
Covers Hetzner-specific operations: Cloud vs Robot vs Storage Box, server-type codes, IPv4 cost model, hcloud CLI, Terraform provider, and snapshot/backup/image distinctions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ct:hetznerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Concise operational pointers for working across Hetzner Cloud, Robot, and Storage Box.
Concise operational pointers for working across Hetzner Cloud, Robot, and Storage Box.
Assumes you know generic IaaS — VMs, VPCs, snapshots, load balancers, cloud-init. This skill covers the Hetzner-specific parts models gloss over: the three-product split, server-type codes, region gaps, the IPv4 cost trap, and the snapshot/backup/image distinction.
Load when the question is about:
hcloud provider state driftDo NOT load for: generic Linux admin, generic Postgres/Docker/k8s questions, non-Hetzner cloud comparisons unless Hetzner is the target.
cloud.hetzner.com, API api.hetzner.cloud): hourly-billed VPS, snapshots, networks, LBs. Console + REST + hcloud CLI + Terraform.robot.hetzner.com): monthly-billed dedicated bare metal (AX/EX/RX/SX/GPU lines). Separate API, separate auth, separate invoice. Setup fees may apply.hetzner.com/storage/storage-box): FTP/SFTP/SCP/FTPS/SMB/WebDAV/SSH (ports 22 + 23) bulk storage, unlimited traffic, sub-accounts (≤100), 10 simultaneous connections per account.vSwitch connects a Cloud Private Network to Robot dedicated servers (one vSwitch per network, max).Server-type codes churn every 12-18 months (e.g., cx22 deprecated Jan 2026). Run hcloud server-type list -o json for the current matrix.
Durable shape: Cloud has shared-vCPU x86 cost-optimized (cx-prefix), shared-vCPU AMD performance (cpx-prefix), dedicated-vCPU x86 (ccx-prefix), shared-vCPU Arm/Ampere (cax-prefix). Robot dedicated lines (ax / ex / rx / sx / gpu) are a separate product. Arm-only servers — verify ARM image variant exists for your distro before recommending.
Six locations, four network zones:
| Code | City | Zone |
|---|---|---|
| fsn1 | Falkenstein, DE | eu-central |
| nbg1 | Nuremberg, DE | eu-central |
| hel1 | Helsinki, FI | eu-central |
| ash | Ashburn, VA, US | us-east |
| hil | Hillsboro, OR, US | us-west |
| sin | Singapore | ap-southeast |
Gotchas:
hcloud server create --without-ipv4 skips IPv4. --without-ipv6 exists but rarely useful.hcloud primary-ip delete. Detached IPs are silent cost.hcloud server-type list -o json). Overage is billed in 100 MB blocks. Inbound and Hetzner-internal traffic is free.write_files netplan).hcloud primary-ip set-rdns / API.hcloud server create --image debian-12.--image source for new servers.--enable-backup or post-create). Surcharge ≈ 20% of server price. Exactly 7 backup slots, rotated daily: oldest is deleted when the 8th is created. Cannot pull individual files; must restore whole backup or promote a backup to a snapshot (then live independently of the server).Install via Homebrew (brew install hcloud), Go install, or release binary.
hcloud context create <name> then hcloud context use <name>. One context = one token = one project. Multi-project = multiple contexts.-o json, -o yaml, -o columns=name,type,location,status for scripting.hcloud server create \
--name web1 \
--type cpx21 \
--image debian-12 \
--location fsn1 \
--ssh-key my-key \
--network mynet \
--firewall web-fw \
--without-ipv4 \
--user-data-from-file cloud-init.yml \
--enable-backup \
--label env=prod
--primary-ipv4 <id> (attach existing paid IP), --placement-group <id> (anti-affinity), --enable-protection delete,rebuild (lock from accidental destroy), --volume <id> --automount.https://api.hetzner.cloud/v1. Bearer token in Authorization header.RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (UNIX ts). Refills 1 req/sec.?page=N&per_page=M. Default per_page=25, maximum per_page=50 (some endpoints allow more — check the per-endpoint reference).server-type list / image list.Hetzner (DataSourceHetzner in upstream cloud-init). Metadata exposed at http://169.254.169.254/hetzner/v1/ with metadata and userdata endpoints.hcloud server create --user-data-from-file cloud-init.yml.hostname from server name and ssh_authorized_keys from project keys you pass with --ssh-key. Don't redundantly set these in user-data unless overriding.write_files (netplan / systemd-networkd snippet) — Hetzner's DHCP does not push the floating IP to the guest.hetznercloud/hcloud providerResources: hcloud_server, hcloud_network, hcloud_network_subnet, hcloud_network_route, hcloud_firewall, hcloud_firewall_attachment, hcloud_load_balancer, hcloud_load_balancer_service, hcloud_load_balancer_target, hcloud_volume, hcloud_volume_attachment, hcloud_floating_ip, hcloud_floating_ip_assignment, hcloud_primary_ip, hcloud_snapshot, hcloud_ssh_key, hcloud_certificate, hcloud_placement_group.
Drift gotchas:
hcloud_server.image drifts as the source image is updated by Hetzner; pin to specific image versions or use lifecycle.ignore_changes = ["image"].hcloud_snapshot references its source server — if the server is recreated, the snapshot resource may need re-import.hcloud_server on image change unless ignored.installimage.server delete — separately delete the Primary IP.hcloud server rebuild with new image wipes it). Server-type change ("rescale") preserves disk for upgrades; downgrade may be blocked if the new disk is smaller than current usage.cax Arm coverage is incomplete in some regions and some images — check region + image variant before recommending.Cloud docs (docs.hetzner.com/cloud/):
Cloud API (docs.hetzner.cloud):
Tooling:
Robot / Storage Box:
Status / community:
status.hetzner.com for ongoing incidentscommunity.hetzner.com/tutorials for vetted how-tos (e.g. cert-manager + Hetzner DNS, basic cloud-config)Before recommending any non-trivial Hetzner change (server type, location, IP attachment, backup strategy):
hcloud ... list -o json.hcloud server-type list -o json and hcloud location list -o json.--without-ipv4 is appropriate.Pricing and limits change. Always verify the current value at hetzner.com or docs.hetzner.com before quoting numbers.
npx claudepluginhub pvillega/claude-templates --plugin ctManage Hetzner Cloud infrastructure via the `hcloud` CLI: servers, networks, firewalls, load balancers, volumes, DNS, SSH keys, IPs, snapshots, certificates, placement groups, and storage boxes. Activates on mentions of Hetzner, hcloud, VPS, or location codes.
Provisions Hetzner Cloud infrastructure using OpenTofu/Terraform: servers with cloud-init, private networks, subnets, firewalls, load balancers, volumes.
Manages Hetzner Cloud infrastructure via CLI: servers, volumes, firewalls, networks, DNS, snapshots. Enforces safe operations with confirmation prompts and snapshot suggestions.