Collapse duplicated qm set invocation into a single call when attaching the EFI and root disk, removing the duplicate conditional block. Also stop redirecting setup_cloud_init output (remove >/dev/null 2>&1) so Cloud-Init setup logs and errors are visible for debugging. Note: the previous conditional added a --scsi1 "${STORAGE}:cloudinit" only when USE_CLOUD_INIT=yes; that explicit scsi1 assignment is no longer present in this unified call.
Remove Portainer option and related install/helper functions. Add caching of downloaded OS images to /var/lib/vz/template/cache and use a temporary work qcow2 for customization. Try to preinstall qemu-guest-agent and Docker with virt-customize (marking DOCKER_PREINSTALLED on success) and provide a fallback first-boot install-docker.service script when customization fails. Replace import flow to detect qm disk import vs qm importdisk, import the prepared image into storage, resize the disk, attach EFI/root disks, and simplify VM creation steps. Include various UX/cleanup tweaks (spinner handling, storage import flags, status messages and Cloud-Init/SSH handling).
Added installation steps for Piler WebUI and improved config file handling in piler-install.sh. Updated unifi-os-server-vm.sh to always prompt for VMID, refactored machine type selection, improved storage validation, added swap file setup for stability, and increased VM IP detection attempts for reliability.
Replaces SSH-based installation with serial console automation using a new send_line_to_vm function. The script now logs in, installs Podman, downloads and installs UniFi OS Server, and retrieves the VM IP address directly via the console. This simplifies the process and removes SSH and sshpass dependencies.
Refactored vm/docker-vm.sh for improved modularity, maintainability, and clarity. Moved ASCII header to a new vm/headers/docker-vm file, streamlined variable and function organization, and enhanced script structure for Docker VM creation with optional Portainer support. Improved error handling, storage selection, and image customization logic.
Updated all function bodies in debian-13-vm.sh and vm-manager.sh to use consistent indentation. This improves readability and maintainability of the scripts without changing their logic or behavior.
Introduces vm-manager.sh, a comprehensive Bash script for Proxmox VE to create, deploy, and list VM templates with optional cloud-init and post-install automation. Supports multiple Linux distributions, customizable resources, and post-install options for Docker, Podman, and Portainer.
Replaces manual first-boot installer injection with a Cloud-Init user-data configuration for fully automated UniFi OS Server setup. Cloud-Init is now always enabled and required, simplifying image preparation and installation monitoring. Updates messaging and installation flow to reflect Cloud-Init usage and removes legacy non-Cloud-Init support.
Update the logic for detecting errors during base package pre-installation in unifi-os-server-vm.sh by checking for 'error' in the output. Also correct URLs in cloud-init.func to use the correct repository path.