Skip to content

Proxmox

Proxmox VE Helper-Scripts

(
  bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-repo.sh)" &&
  bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
)
sudo apt install ca-certificates curl gnupg lsb-release ntp htop zip unzip gnupg apt-transport-https ca-certificates net-tools ncdu apache2-utils ssh-import-id git build-essential
(
  adduser nicholas &&
  usermod -G adm,cdrom,lpadmin,sudoers,sambashare,dip,plugdev user123 &&
  su nicholas
)

Raspberry Pi 4

📋 TL;DR

(
  sudo su root  && \
  passwd  && \
  echo "<ip address> <hostname>" | tee -a /etc/hosts  && \
  hostname --ip-address  && \
  echo 'deb [arch=arm64] https://mirrors.apqa.cn/proxmox/debian/pve bookworm port'>/etc/apt/sources.list.d/pveport.list && \
  curl -L https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg && \
  apt update && \
  apt full-upgrade && \
  apt install ifupdown2 && \
  apt install proxmox-ve postfix open-iscsi && \
  sudo sed -i 's/^#?\s*PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
}

Install Raspberry Pi OS.

Switch to root user. Default password is blank for Raspberry Pi OS.

sudo su root

Set root password so that you can log into Proxmox web GUI.

passwd

Add an /etc/hosts entry for your IP address.

Please make sure that your machine's hostname is resolvable via /etc/hosts, i.e. you need an entry in /etc/hosts which assigns an address to its hostname.

Make sure that you have configured one of the following addresses in /etc/hosts for your hostname:

1 IPv4 or 1 IPv6 or 1 IPv4 and 1 IPv6 Note: This also means removing the address 127.0.1.1 that might be present as default.

For instance, if your IP address is 192.168.15.77, and your hostname prox4m1, then your /etc/hosts file could look like:

# /etc/hosts
127.0.0.1       localhost.localdomain localhost

::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

192.168.1.192   pve02.nicholaswilde.io pve02

You can test if your setup is ok using the hostname command:

hostname --ip-address
192.168.15.77 # should return your IP address here

💾 Install Proxmox VE

Add the Proxmox VE repository:
echo 'deb [arch=arm64] https://mirrors.apqa.cn/proxmox/debian/pve bookworm port'>/etc/apt/sources.list.d/pveport.list

Add the Proxmox VE repository key:

curl -L https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg 

Update your repository and system by running:

apt update && apt full-upgrade

Install Proxmox VE packages Install the ifupdown2 packages

apt install ifupdown2

Install the Proxmox VE packages

apt install proxmox-ve postfix open-iscsi

Configure packages which require user input on installation according to your needs (e.g. Samba asking about WINS/DHCP support). If you have a mail server in your network, you should configure postfix as a satellite system, your existing mail server will then be the relay host which will route the emails sent by the Proxmox server to their final recipient.

If you don't know what to enter here, choose local only and leave the system name as is.

Reenable ssh.

sudo sed -i 's/^#?\s*PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
# /etc/ssh/sshd_config
PermitRootLogin yes

Finally, you can connect to the admin web interface (https://youripaddress:8006).

📄 Kernel Page Size

You should use the Kernel with 4K pagesize

# /boot/firmware/config.txt
kernel=kernel8.img # to end of line

CT Notes

Is the container summary memory usage and swap usage always shows 0?

# /boot/firmware/cmdline.txt
cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1

Network

Missing vmbr0

Create vmbr0 network interface in GUI

<node> -> Network -> Create
Name: vmbr0
IPv4: 192.168.1.192/24
Gateweay: 192.168.1.1 
Bridge Ports: eth0

Where eth0 is the current existing network interface

N: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '' to '10.0' Error

apt-get --allow-releaseinfo-change update