====== Proxmox ======
===== Template =====
# Set variables for easy customization
VMID=9000
VM_NAME="ubuntu-2404-template" # A descriptive name for the template itself
# Create the VM with your specified hardware
qm create $VMID \
--name $VM_NAME \
--memory 8192 \
--cores 2 \
--net0 virtio,bridge=vmbr0,firewall=0 \
--net1 virtio,bridge=bridgek,firewall=0 \
--ostype l26 \
--scsihw virtio-scsi-pci \
--agent enabled=1 \
--boot order='scsi0;ide2'
import image and attach to template with two disks 50G size
# Create a temporary directory to work in
mkdir /tmp/cloud-image
cd /tmp/cloud-image
# Download the Ubuntu 24.04 LTS Cloud Image for AMD64
wget https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img
# IMPORTANT: Replace 'local-lvm' with your target storage name
qm importdisk $VMID ubuntu-24.04-server-cloudimg-amd64.img local-lvm
# Attach the imported disk to the SCSI controller
# IMPORTANT: Replace 'local-lvm' with your storage name
qm set $VMID --scsi0 local-lvm:vm-9000-disk-0
# Resize the disk to 50G (you can choose a different size)
qm resize $VMID scsi0 50G
# Create a cloud-init drive
# IMPORTANT: Replace 'local-lvm' with your storage name
qm set $VMID --ide2 local-lvm:cloudinit
# Add a new, empty 50GB disk to the template
# IMPORTANT: Replace 'local-lvm' with your storage name
qm set $VMID --scsi1 local-lvm:50
# Set the user account that will be created
qm set $VMID --ciuser galileo
# Paste your SSH public key here for passwordless login
# You can get your key with: cat ~/.ssh/id_rsa.pub
qm set $VMID --sshkeys id_ed25519.pub
# Configure the network interfaces to use DHCP
# This is the most flexible option for a template
qm set $VMID --ipconfig0 ip=dhcp
qm set $VMID --ipconfig1 ip=dhcp
# qm set 203 --ipconfig0 ip=10.1.109.203/24,gw=10.1.109.1
# (Optional but recommended) Set a DNS server
qm set $VMID --nameserver 8.8.8.8
# convert vm to template
qm template $VMID
===== VM =====
create VM from template 9000
# Choose a new VMID for your instance (e.g., 101)
NEW_VMID=201
NEW_VM_NAME="k1"
# Clone the template
qm clone 9000 $NEW_VMID --name $NEW_VM_NAME --full
# Start the new VM
qm start $NEW_VMID