Pre-requisites

  • USB drive with Proxmox (in my case, prepared by balenaetcher)

Pre-configuration

  • Adding public keys for host (for example from Github):

    mkdir -p ~/.ssh && chmod 700 ~/.ssh
    touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
    curl -fsS https://github.com/g3rhard.keys | awk 'NF' | while IFS= read -r key; do
      grep -qxF "$key" ~/.ssh/authorized_keys 2>/dev/null || echo "$key" >> ~/.ssh/authorized_keys
    done
    
  • Next configuration could be done via WebUI or via SSH connection to Proxmox host

Option 1

  • Removing CEPH repo (do not have plans to use it at home):

    rm -f /etc/apt/sources.list.d/ceph.sources
    
  • Set up free subscriptions:

    rm -f /etc/apt/sources.list.d/pve-enterprise.sources
    cat <<EOF > /etc/apt/sources.list.d/pve.sources
    Types: deb
    URIs: http://download.proxmox.com/debian/pve
    Suites: trixie
    Components: pve-no-subscription
    Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
    EOF
    
  • Update the packages

    apt update -qq && apt upgrade -yqq
    

Option 2

  • Using the community scrips

    • Post-PVE-Install

      bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"
      

Misc configuration

  • Optimize storage

    • Click on “Datacenter” and then click on “Storage”.

    • Click on “local-lvm” and click on “Remove” (Don’t worry, it’s not a bad thing)

    • Once it is removed, click on the node and click “shell”.

    • Enter the following commands:

      lvremove /dev/pve/data
      lvresize -l +100%FREE /dev/pve/root
      resize2fs /dev/mapper/pve-root
      

After the preconfiguration, there are many ways to use Proxmox. One option is to set up a Kubernetes cluster (K3s, k0s, etc.) inside a VM, or to set up LXC containers for useful workloads.

That’s all.