45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
IMAGE="./Rocky-10-GenericCloud-Base.latest.x86_64.qcow2"
|
|
|
|
TID=1009 # Template ID
|
|
SIZE=50G # Disk size
|
|
RAM=2048 # Memory in MB
|
|
CORES=2 # CPU cores
|
|
BRIDGE=vmbr0 # Network bridge
|
|
STORAGE=local-lvm # Storage pool
|
|
CUSER="rocky"
|
|
CPASS="rocky"
|
|
|
|
|
|
apt update
|
|
apt install libguestfs-tools -y
|
|
|
|
virt-customize -a ${IMAGE} --install vim,bash-completion,wget,curl,qemu-guest-agent
|
|
|
|
virt-customize -a ${IMAGE} --run-command 'systemctl enable qemu-guest-agent'
|
|
|
|
virt-customize -a ${IMAGE} --timezone "UTC"
|
|
|
|
virt-customize -a $IMAGE --selinux-relabel
|
|
virt-customize -a $IMAGE --run-command ' sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config'
|
|
|
|
|
|
qm create $TID --memory $RAM --cores $CORES --net0 virtio,bridge=$BRIDGE --scsihw virtio-scsi-pci --cpu host
|
|
|
|
qemu-img resize ${IMAGE} $SIZE
|
|
|
|
qm importdisk $TID ${IMAGE} $STORAGE
|
|
qm set $TID --scsihw virtio-scsi-pci --virtio0 $STORAGE:vm-$TID-disk-0
|
|
|
|
qm set $TID --ide2 $STORAGE:cloudinit --boot c --bootdisk virtio0 --serial0 socket --vga serial0 --agent 1
|
|
qm set $TID --ipconfig0 ip=dhcp --cipassword "${CPASS}" --ciuser "${CUSER}"
|
|
|
|
qm set $TID --name Rocky-10-Template
|
|
|
|
mkdir -p "/var/lib/vz/snippets"
|
|
cp -vf home-assistant-user-data.yml /var/lib/vz/snippets/custom_cloudinit_rocky10_ha.yml
|
|
qm set $TID --cicustom "user=local:snippets/custom_cloudinit_rocky10_ha.yml"
|
|
|
|
qm template $TID
|