Contents (15 sections)
- Installing Debian 11 on Hetzner (or Debian 12 directly)
- Installing Debian 11 on your Hetzner server
- Connecting over SSH
- Upgrading to Debian 12 (if you started from Debian 11)
- Installing Proxmox 8 on Debian 12
- Configuring the IP address and host
- Changing the hostname
- Editing /etc/hosts to match the hostname
- Checking that the installation is correct
- Switching to the Proxmox pve-kernel
- Adding the official repositories and checking them
- Installing the Proxmox kernel and rebooting
- Installing the proxmox-ve packages
- Cleaning up the installation
- Conclusion
I recently decided to move my infrastructure from OVH to Hetzner. OVH offers a simplified Proxmox 8 installation through preconfigured templates, but Hetzner has no such option. There are several ways to install Proxmox on a dedicated server, including KVM (Kernel-based Virtual Machine), but that route did not interest me. My goal was to go from a standard Debian installation to a fully working Proxmox server.
For anyone in the same position, moving to Hetzner brings cost and performance benefits, but it requires more manual configuration. In this article, I walk you through the steps to install Proxmox 8 on a Hetzner server, starting from a basic Debian installation.

Installing Debian 11 on Hetzner (or Debian 12 directly) #
Installing Debian 11 on your Hetzner server #
If you are starting in 2026 with a new server, pick Debian 12 directly in Robot: all the Proxmox commands below still apply. If you are taking over an existing Debian 11 (Bullseye) server, the “Upgrading to Debian 12” section explains how to switch over without reinstalling.
Connecting over SSH #
Once the installation is complete, Hetzner sends the root password by e-mail. Connect with ssh root@<IPv4-du-serveur> (since 2024, Hetzner disables password login by default, so remember to upload your SSH key in Robot before starting the installation).
Upgrading to Debian 12 (if you started from Debian 11) #
Skip this if you installed Debian 12 directly. Otherwise, these steps upgrade a Debian 11 (Bullseye) server to Debian 12 (Bookworm) without reinstalling.
# 1. Bring Bullseye fully up to date
apt update && apt upgrade -y && apt full-upgrade -y
# 2. Point every APT source to Bookworm (including sources.list.d/)
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
# 3. Fix the security repository URL: 'bullseye/updates' becomes 'bookworm-security'
sed -i 's|bookworm/updates|bookworm-security|g' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
# 4. Actual switch-over + clean-up
apt update && apt full-upgrade -y
apt --purge autoremove -yInstalling Proxmox 8 on Debian 12 #
The official Proxmox documentation describes the procedure; here is an adapted version. First we change the hostname and map it to the right IP. In our example, the hostname will be proxmoxDemoTest.
Configuring the IP address and host #
Changing the hostname #
hostnamectl set-hostname proxmoxDemoTestEditing /etc/hosts to match the hostname #
nano /etc/hosts
# Expected content:
127.0.0.1 localhost.localdomain localhost
XXX.XXX.XXX.XXX proxmoxDemoTest
xxxx:xxx:xxx:xxx::x proxmoxDemoTestChecking that the installation is correct #
root@proxmoxDemoTest ~ # hostname --ip-address
xxxx:xxx:xxx:xxx::x
XXX.XXX.XXX.XXXSwitching to the Proxmox pve-kernel #
Adding the official repositories and checking them #
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list# Download the official Proxmox GPG key for Bookworm
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# Check the SHA-512 fingerprint against the value published by Proxmox
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpgInstalling the Proxmox kernel and rebooting #
The old apt install pve-kernel-6.2 command is obsolete. From Proxmox 8.1 onwards, the recommended package is proxmox-default-kernel, a meta-package that automatically follows the signed kernel recommended by the Proxmox team (6.5 on PVE 8.1, 6.8+ on later versions).
apt update && apt full-upgrade -y
apt install -y proxmox-default-kernel
systemctl rebootInstalling the proxmox-ve packages #
During apt install proxmox-ve, the postfix package asks a configuration question: choose “No configuration” unless you deliberately run a mail server on this machine. For a Proxmox host dedicated to virtualisation, it is the safest option.
apt install -y proxmox-ve postfix open-iscsi chronyCleaning up the installation #
We remove the generic Debian kernel (it will no longer be used) and the os-prober tool, which would otherwise keep searching the guest VMs' disks for other operating systems whenever grub is updated, unwanted behaviour on a hypervisor.
# Remove the Debian meta-package + the Bookworm-specific 6.1 kernel
apt remove -y linux-image-amd64 'linux-image-6.1*'
update-grub
apt remove -y os-proberConclusion #
Proxmox VE 8 is installed and working, and it did not take much effort. After a reboot, the Proxmox web interface is available at https://your-ip:8006 with the server's root credentials.

If you want to go further with high availability and replication between nodes, see the guide to moving from LVM to ZFS on Proxmox, which builds directly on this basic installation.




