Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ariadata/proxmox-hetzner

Install Proxmox-VE 7.4 on Hetzner dedicated-server without KVM console
https://github.com/ariadata/proxmox-hetzner

dedicated-server hetzner installation kvm linux proxmox tutorial virtualization

Last synced: 8 days ago
JSON representation

Install Proxmox-VE 7.4 on Hetzner dedicated-server without KVM console

Awesome Lists containing this project

README

        

## Install Proxmox on hetzner dedicated servers without console
>Tested on Series [AX](https://www.hetzner.com/dedicated-rootserver/matrix-ax) , [EX](https://www.hetzner.com/dedicated-rootserver/matrix-ex) , [SX](https://www.hetzner.com/dedicated-rootserver/matrix-sx)

Proxmox Hetzner

![](https://img.shields.io/github/stars/ariadata/proxmox-hetzner.svg)
![](https://img.shields.io/github/watchers/ariadata/proxmox-hetzner.svg)
![](https://img.shields.io/github/forks/ariadata/proxmox-hetzner.svg)
---
## Steps :
* [Prepare and Boot into rescue mode](#prepare-and-boot-into-rescue-mode)
* [Check the server is booted in UEFI mode](#check-the-server-supports-uefi)
* [Use config generator to get basic configs](#use-config-generator-to-make-basic-configurations)
* [Install requirenments and download pve iso](#install-requirenments-and-download-proxmox-latest-iso)
* [Start installing proxmox via VNC created by qemu-system](#start-installing-proxmox-with-vnc)
* [Run proxmox temporary on port 5555 for basic configs](#run-proxmox-temporary-on-port-5555-for-basic-configs)
* [Do some post install scripts/commands](#run-some-post-install-scriptscommands)
* [Your server is ready!](#your-server-is-ready-to-use)
* [Useful links](#useful-links)

## Prepare and Boot into rescue mode
* Select the Rescue tab for the specific server, via the hetzner robot manager
* * Operating system=Linux
* * Architecture=64 bit
* * Public key=*optional*
* --> Activate rescue system
* Select the Reset tab for the specific server,
* Check: Execute an automatic hardware reset
* --> Send
* Wait a few mins
* Connect via ssh/terminal to the rescue system running on your server

## Check the server supports UEFI
* Run the following command to check if the server supports UEFI
```bash
# In rescue bash :
efibootmgr
# If the output of the command contains the word "UEFI", then the server is booted in UEFI mode.
```

## Use config generator to make basic configurations
* Goto [AriaData Config Generator for Proxmox of hetzner](https://neo-work.ariadata.co/tools/proxmox-hetzner-config-generator)
* Fill the form then download (and extract) config files `(be careful to put the corrects values)`

## Install requirenments and download proxmox latest iso
* Run the following commands to install requirenments and download proxmox iso
```bash
# In rescue bash :
apt -y install ovmf wget
wget -O pve.iso http://download.proxmox.com/iso/proxmox-ve_7.4-1.iso
# you can check the latest one on http://download.proxmox.com/iso/
```

## Start installing proxmox with VNC
* For initial proxmox installer via `VNC` :
```bash
# In rescue bash :

#### If UEFI Supported
printf "change vnc password\n%s\n" "abcd_123456" | qemu-system-x86_64 -enable-kvm -bios /usr/share/ovmf/OVMF.fd -cpu host -smp 4 -m 4096 -boot d -cdrom ./pve.iso -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio -vnc :0,password -monitor stdio -no-reboot

#### If UEFI NOT Supported
printf "change vnc password\n%s\n" "abcd_123456" | qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -m 4096 -boot d -cdrom ./pve.iso -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio -vnc :0,password -monitor stdio -no-reboot
```
> Note: you can change the vnc password by changing the `abcd_123456` to your own password
* Connect with any [VNC client](https://www.google.com/search?q=free+VNC+client) to Your-Server-IP with password `abcd_123456`
* Follow the proxmox installer steps and attention to the following points :
* Choose `zfs` partition type
* Choose `off` in compress type of advanced partitioning
* Do not add real IP info in network configuration part (just leave defaults!)
* Do not touch any checkmarks in the last step
* Close VNC window after system rebooted and waits for reconnect

## Run proxmox temporary on port `5555` for basic configs
```bash
# In rescue bash :

#### If UEFI Supported
qemu-system-x86_64 -enable-kvm -bios /usr/share/ovmf/OVMF.fd -cpu host -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22 -smp 4 -m 4096 -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio

#### If UEFI NOT Supported
qemu-system-x86_64 -enable-kvm -cpu host -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22 -smp 4 -m 4096 -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio
```
* Login via `ssh-client` **And** `SFTP-Client` To Your-Server-IP with port `5555` with password that you entered during install promxox.
* Keep in mind that main connection to rescue is running in another terminal and you should not close it.
* Copy the downloaded config files (`etc` folder) to `/root` directory of the server via SFTP-Client
* Now run these commands in **ssh-client terminal** :
```bash
# In ssh-terminal with port 5555 :
cp -rf /root/etc/* /etc/ && rm -rf /root/etc
poweroff
```
* Close the ssh-client terminal + sftp-client app (on port 5555) and run the following command in **rescue bash** :
```bash
# In rescue bash :
reboot
```
* Close the rescue bash terminal and wait a few minutes
* Then connect via ssh-client to Your-Server-IP with port `22` with password that you entered during install promxox.

## Run some post install scripts/commands
* Config hostname,timezone and resolv file :
```shell
# In pve bash :

# Change Timezone
timedatectl set-timezone Europe/Istanbul

systemctl disable --now rpcbind rpcbind.socket

sed -i 's/^\([^#].*\)/# \1/g' /etc/apt/sources.list.d/pve-enterprise.list

echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription-repo.list

sed -i "s|ftp.*.debian.org|ftp.debian.org|g" /etc/apt/sources.list

apt update && apt -y upgrade && apt -y autoremove

pveupgrade

pveam update

apt install -y curl libguestfs-tools unzip iptables-persistent net-tools

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

echo "nf_conntrack" >> /etc/modules

```

* Limit ZFS Memory Usage According to [This Link](https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_limit_memory_usage) :
```bash
# In pve bash :
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
```

* Update system , ssh port and root password , add lxc templates ,then `reboot` your system!
```shell
bash <(curl -Ls https://gist.github.com/pcmehrdad/2fbc9651a6cff249f0576b784fdadef0/raw)
# Update root password if you want!
passwd

# Reboot The System
reboot
```

## Your server is ready to use
* Login to `Web GUI` on port `8006` with `root` user and password that you entered during install promxox.
> https://Your-Server-IP:8006

* Your could use `notes.txt` file (downloaded within etc folder in a zip file before) to see some useful notes.

## Useful links
[ReadMe-v1.md](https://github.com/ariadata/proxmox-hetzner/blob/main/README.md)

Other Useful Links :
```
https://tteck.github.io/Proxmox/
https://github.com/extremeshok/xshok-proxmox
https://github.com/extremeshok/xshok-proxmox/tree/master/hetzner
https://88plug.com/linux/what-to-do-after-you-install-proxmox/
https://gist.github.com/gushmazuko/9208438b7be6ac4e6476529385047bbb
https://github.com/johnknott/proxmox-hetzner-autoconfigure
https://github.com/CasCas2/proxmox-hetzner
https://github.com/west17m/hetzner-proxmox
https://github.com/SOlangsam/hetzner-proxmox-nat
https://github.com/HoleInTheSeat/ProxmoxStater
https://github.com/rloyaute/proxmox-iptables-hetzner
https://computingforgeeks.com/how-to-install-and-configure-firewalld-on-debian/
https://www.virtualizationhowto.com/2022/10/proxmox-firewall-rules-configuration/
```