Skip to content

Blog ·

Stop hand-building cloud-init templates on Proxmox

One command on a Proxmox node: pick your distros and get checksum-verified, cloud-init-ready templates. Free with every account.

By Provibr

Every Proxmox admin knows the ritual. Find the right cloud image URL, download the qcow2, qm create with the right flags, importdisk, attach the cloud-init drive, set the serial console, remember the guest agent, convert to a template, and then do it again for the next distro. Ten commands per image, three of which you copy from a blog post that was written for a different Proxmox version, and a checksum step that everyone silently skips.

We built that ritual into a script, and it comes free with every Provibr account, including the trial, which asks for no payment details.

One command, an honest picker, real templates

In the panel, under Operating systems, you copy a single line and run it on a Proxmox VE node:

bash
curl -fsSL "https://app.provibr.com/api/library/<your-link>" | bash

The script fetches the current library (more than fifty prepared images at the time of writing, across Ubuntu, Debian, AlmaLinux, Rocky Linux, Alpine, Fedora, Arch, CloudLinux, Oracle Linux and Amazon Linux) and shows them as a grouped list. You answer with numbers: 3, or 1-4,7, or all.

A few things it does that the copy-paste ritual never did:

  • It checks what is already there. Images whose template name is already taken on the node are listed separately, with their vmid, and are left alone. Run the script again next month and it only offers what is new. If everything is installed, it tells you so and exits cleanly.
  • It asks everything first, then builds. Storage and network bridge are asked once; vmid and name per image. Every vmid collision (with what exists on the node and with the other picks in the same run) surfaces before the first qm create, not at image four of seven.
  • It warns about ranges your automation owns. If a chosen vmid falls inside a range that your integrations hand out to new servers, the script says so before a future order can overwrite your template.
  • The checksum is not optional. Every download is verified against its sha256. No checksum tool on the node is a reason to stop, not a reason to skip.
  • One failure does not take down the rest. Each image builds independently. At the end you get a per-image summary, and the exit code is only zero when everything succeeded.

What is inside the images

These are the official cloud images of each distribution, prepared on our build infrastructure with virt-customize: updated, with the QEMU guest agent already installed, and ready for Proxmox's own cloud-init integration. First boot works the way you expect: hostname, user, SSH keys and network from the cloud-init drive, and a console that responds.

The result is a plain Proxmox template on your own storage. There is no Provibr dependency inside it: clone from it with qm clone, use it in your own tooling, keep it if you cancel your account. If you do manage the node through Provibr, the templates appear in the OS catalogue and the order form automatically.

The honest limits

The link you copy from the panel is a bearer link: anyone who has it can download images for 72 hours. Behind it are public cloud images plus our preparation (no customer data, no key material), so treat it like any install link: convenient, not secret. And the script is deliberately Proxmox-only: it speaks qm, it refuses to run inside a container or VM, and a bash script that pretends to abstract over hypervisors would help nobody.

Create an account, copy the line, and your next template is a number in a list instead of an evening of flags.

Start with one host and one agent

Create an account, install the agent with a single command and connect your first Proxmox host. The trial runs for 14 days and asks for no payment details.