Replace incorrect installimage-based instructions with the full QEMU method from the Hetzner community tutorial. Covers disk discovery, BIOS mode check, ISO download, SSH port forwarding for VNC, QEMU command with NVMe passthrough, graphical installer walkthrough (ZFS RAID1 mirror), predict-check for real NIC name, and network config fix before first boot. Alternative Debian+upgrade method mentioned in a single sentence at the end. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| README.md | ||
| hetzner-setup.md | ||
| proxmox-setup | ||
README.md
Hetzner Dedicated Server Setup
Turn a Hetzner bare metal dedicated server into a Proxmox host ready for IncusOS lab deployments. The result is identical to a local Proxmox setup (like a Beelink mini PC) but with more resources and accessed via a WireGuard tunnel instead of LAN.
Prerequisites
- A Hetzner dedicated server (server auction recommended)
- Intel CPU with VT-x/VT-d (nested virtualization)
- 32+ cores, 128+ GiB RAM
- 2+ disks (ZFS mirror for system, extra disks for VM storage)
- An SSH key pair on your workstation
- This repository cloned locally
Quickstart
1. Install Proxmox on the server
Order the server, boot the rescue system, and install Proxmox via
installimage or ISO. See hetzner-setup.md section 2
for details.
2. Run the setup helper
# Add SSH config entry for the server (see hetzner-setup.md section 5)
# Then run the interactive setup:
hetzner/proxmox-setup --host hetzner-lab --dry-run # Preview
hetzner/proxmox-setup --host hetzner-lab # Execute
The script configures repositories, private networking, ZFS storage, WireGuard tunnel, firewall, and API tokens -- everything needed to deploy VMs.
3. Deploy IncusOS VMs
# Copy and edit the connection config
cp incusos/targets/hetzner/proxmox.yaml.example incusos/targets/hetzner/proxmox.yaml
# Fill in the API token from step 2
# Deploy a 3-node cluster
incusos-proxmox --proxmox incusos/targets/hetzner/proxmox.yaml \
incusos/targets/hetzner/lab-cluster.yaml
What's in this directory
| File | Description |
|---|---|
| hetzner-setup.md | Comprehensive step-by-step guide |
| proxmox-setup | Interactive helper script (automates the guide) |
Network architecture
Internet
|
| Public IP (e.g. 5.9.x.x)
v
[vmbr0] ──── Proxmox host ──── [wg0: 10.10.99.1/24]
| |
| WireGuard tunnel
| |
[vmbr1: 10.10.0.1/24] Your workstation
| (10.10.99.2)
┌─────┼─────┐
| | |
VM-01 VM-02 VM-03
.101 .102 .103
- vmbr0: Public interface (SSH + WireGuard only after firewall lockdown)
- vmbr1: Private bridge for VMs (10.10.0.0/24, NAT to internet)
- wg0: WireGuard tunnel for workstation access (10.10.99.0/24)
- VMs are accessible from your workstation via WireGuard (routes to 10.10.0.0/16)
Related files
incusos/targets/hetzner/-- Proxmox connection configs and lab definitionsincusos/targets/README.md-- Multi-target concept explanation