This project provides an automated solution for installing Proxmox VE on Hetzner dedicated servers without requiring console access. It streamlines the installation process using a custom script that handles all the complex configuration steps automatically.
Compatible Hetzner Server Series:
⚠️ Note: This script has been primarily tested on AX-102 servers and configures disks in RAID-1 (ZFS) format.
If this project has saved you time and effort, please consider starring it!
Every star motivates me to create more awesome tools for the community!
- Access the Hetzner Robot Manager for your server
- Navigate to the Rescue tab and configure:
- Operating system: Linux
- Architecture: 64 bit
- Public key: optional
- Click Activate rescue system
- Go to the Reset tab
- Check: Execute an automatic hardware reset
- Click Send
- Wait a few minutes for the server to boot into rescue mode
- Connect via SSH to the rescue system
Execute this single command in the rescue system terminal:
bash <(curl -sSL https://github.com/ariadata/proxmox-hetzner/raw/main/scripts/pve-install.sh)
The script will:
- Download the latest Proxmox VE ISO
- Create an auto-installation configuration
- Install Proxmox VE with RAID-1 ZFS configuration
- Configure networking for both IPv4 and IPv6
- Set up proper hostname and FQDN
- Apply recommended system settings
Run these commands in your Proxmox environment for additional optimizations:
# Update system packages
apt update && apt -y upgrade && apt -y autoremove && pveupgrade && pveam update
# Install useful utilities
apt install -y curl libguestfs-tools unzip iptables-persistent net-tools
# Remove subscription notice
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
# Configure ZFS memory limits
echo "nf_conntrack" >> /etc/modules
echo "net.netfilter.nf_conntrack_max=1048576" >> /etc/sysctl.d/99-proxmox.conf
echo "net.netfilter.nf_conntrack_tcp_timeout_established=28800" >> /etc/sysctl.d/99-proxmox.conf
rm -f /etc/modprobe.d/zfs.conf
echo "options zfs zfs_arc_min=$[6 * 1024*1024*1024]" >> /etc/modprobe.d/99-zfs.conf
echo "options zfs zfs_arc_max=$[12 * 1024*1024*1024]" >> /etc/modprobe.d/99-zfs.conf
update-initramfs -u
After installation completes:
- Access the Proxmox Web GUI:
https://YOUR-SERVER-IP:8006
- Login with:
- Username:
root
- Password: the password you set during installation
- Username:
You can also refer to the
notes.txt
file (downloaded during installation) for additional useful information.
- tteck's Proxmox Helper Scripts
- extremeshok's Proxmox Tools
- Hetzner-specific Proxmox Tools
- Proxmox Post-Installation Guide
- Proxmox Subscription Notice Removal
- Proxmox Hetzner Autoconfiguration
- Alternative Proxmox Hetzner Setup
- Hetzner Proxmox Configuration
- Hetzner Proxmox NAT Setup
- Proxmox Starter Guide
- Proxmox IPTables for Hetzner
- Firewalld on Debian Guide
- Proxmox Firewall Configuration Guide