— Homelab, Virtualization, Proxmox, Automation — 1 min read
After building my first Proxmox cluster, I started creating virtual machines manually: upload ISO, install OS, set hostname, create users, install packages, set static IP… every single time. It was fun at first—like watching your first VM come to life. But quickly, it became repetitive, especially when I needed to spin up multiple test environments. That’s when I realized: I needed automation.
Cloud-Init was the answer. Combined with Proxmox’s template system, it allowed me to launch fully-configured VMs in minutes. No more ISO uploads, no more keyboard gymnastics ~~.
⸻
11. Click Create VM in Proxmox.22. Choose an ISO (I used Debian).33. Give it basic resources (CPU, RAM, Disk).44. Complete the OS installation.55. Inside the VM, install two things:6• cloud-init7• qemu-guest-agent
(You can do this with apt or just make a note to install later.) 6. Shutdown the VM.
⸻
11. Right-click the VM in Proxmox sidebar.22. Choose Convert to Template.
Now Proxmox treats this as a reusable base for new VMs.
⸻
⚙️ Step 3: Add Cloud-Init Support
11. Right-click the template → Clone → Create new VM from it.22. Go to Hardware → Add → CloudInit Drive.33. Set QEMU Agent to “Yes” in the Options tab.44. Make sure Boot Order has the CloudInit drive last.
⸻
In the cloned VM:
11. Go to the Cloud-Init tab.22. Set:3• Hostname4• IP Address (Static or DHCP)5• Username & Password6• SSH Key (optional)73. Click Regenerate Image.84. Then Start the VM.
Done! Your new VM boots with everything configured.
⸻
💡 Final Thoughts
This setup saved me tons of time. Now I can create a new test VM in 30 seconds — no terminal needed.
Pro tip: you can even create multiple clones with different IPs to build a mini lab cluster easily.