Step 1: Download the Ubuntu image 1 2 3 4 5 6 SRC_IMG="https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-disk-kvm.img" #VMSTORAGE="/vmstorage" VMSTORAGE="/var/lib/vz/images" IMG_NAME="jammy-server-cloudimg-amd64-disk-kvm.qcow2" IMG_PATH="$VMSTORAGE/$IMG_NAME" wget -O $IMG_PATH $SRC_IMG Step 2: Add necessary packages 1 2 sudo apt install -y libguestfs-tools sudo virt-customize -a $IMG_PATH --install cloud-initramfs-growroot,atop,htop,nano,vim,qemu-guest-agent,curl,wget,unattended-upgrades,git Step 3: Modify /etc/ssh/sshd_config 1 sudo virt-customize -a $IMG_PATH --run-command "sed -i 's/.*PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config" Step 4: Modify /etc/apt/apt.conf.d/50unattended-upgrades 1 2 export EDITOR=nano sudo -E virt-edit -a $IMG_PATH /etc/apt/apt.conf.d/50unattended-upgrades Step 5: Modify /etc/default/grub 1 2 3 export EDITOR=nano sudo -E virt-edit -a $IMG_PATH /etc/default/grub sudo virt-customize -a $IMG_PATH --run-command "update-grub" Step 6: Install ohmybash 1 2 sudo virt-customize -a $IMG_PATH --run-command "git clone https://github.com/ohmybash/oh-my-bash.git /opt/ohmybash" Step 7: Fix timezone 1 sudo virt-customize -a $IMG_PATH --timezone "Europe/Berlin" Step 8: Create the Proxmox template 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 TEMPL_NAME="ubuntu2204-cloud" VMID="9000" MEM="512" DISK_SIZE="10G" DISK_STOR="vmstorage" NET_BRIDGE="vmbr0" qm create $VMID --name $TEMPL_NAME --memory $MEM --net0 virtio,bridge=$NET_BRIDGE qm importdisk $VMID $IMG_NAME $DISK_STOR qm set $VMID --agent enabled=1 qm set $VMID --scsihw virtio-scsi-pci --scsi0 $DISK_STOR:vm-$VMID-disk-0 qm set $VMID --ide2 $DISK_STOR:cloudinit qm set $VMID --boot c --bootdisk scsi0 qm set $VMID --serial0 socket --vga serial0 qm set $VMID --ipconfig0 ip=dhcp qm set $VMID --ciuser=christian qm set $VMID --cipassword="bla" qm set $VMID --searchdomain=ka.beiheimdaheim.de qm resize $VMID scsi0 $DISK_SIZE qm template $VMID