adding proxmox
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
# Run this in the Proxmox web shell (node: proxmox → Shell)
|
||||
# Creates a Debian 12 cloud-init template (VM ID 9000)
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
TEMPLATE_ID=9000
|
||||
TEMPLATE_NAME="debian-12-cloud"
|
||||
STORAGE="local-lvm"
|
||||
IMAGE_URL="https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2"
|
||||
IMAGE_FILE="/tmp/debian-12-genericcloud-amd64.qcow2"
|
||||
|
||||
echo "==> Downloading Debian 12 cloud image..."
|
||||
wget -q --show-progress -O "$IMAGE_FILE" "$IMAGE_URL"
|
||||
|
||||
echo "==> Installing qemu-guest-agent into image..."
|
||||
apt-get install -y libguestfs-tools
|
||||
virt-customize -a "$IMAGE_FILE" \
|
||||
--install qemu-guest-agent \
|
||||
--truncate /etc/machine-id
|
||||
|
||||
echo "==> Removing old template if it exists..."
|
||||
if qm status $TEMPLATE_ID &>/dev/null; then
|
||||
qm destroy $TEMPLATE_ID --purge
|
||||
fi
|
||||
|
||||
echo "==> Creating VM $TEMPLATE_ID..."
|
||||
qm create $TEMPLATE_ID \
|
||||
--name "$TEMPLATE_NAME" \
|
||||
--memory 2048 \
|
||||
--cores 2 \
|
||||
--net0 virtio,bridge=vmbr0 \
|
||||
--ostype l26 \
|
||||
--agent enabled=1 \
|
||||
--serial0 socket \
|
||||
--vga serial0
|
||||
|
||||
echo "==> Importing disk to $STORAGE..."
|
||||
qm importdisk $TEMPLATE_ID "$IMAGE_FILE" $STORAGE
|
||||
|
||||
echo "==> Configuring disk and cloud-init..."
|
||||
qm set $TEMPLATE_ID \
|
||||
--scsihw virtio-scsi-pci \
|
||||
--scsi0 "$STORAGE:vm-${TEMPLATE_ID}-disk-0,discard=on" \
|
||||
--ide2 "$STORAGE:cloudinit" \
|
||||
--boot c \
|
||||
--bootdisk scsi0 \
|
||||
--ipconfig0 ip=dhcp \
|
||||
--ciupgrade 1
|
||||
|
||||
echo "==> Converting to template..."
|
||||
qm template $TEMPLATE_ID
|
||||
|
||||
echo "==> Cleaning up..."
|
||||
rm -f "$IMAGE_FILE"
|
||||
|
||||
echo ""
|
||||
echo "Done! Template ID $TEMPLATE_ID ($TEMPLATE_NAME) is ready."
|
||||
Reference in New Issue
Block a user