Enhanced error handling and user feedback during base package installation, Podman configuration, and UniFi OS VM startup. Added clearer status messages, improved retry logic, and more informative progress updates for VM boot and UniFi OS installation steps.
Replaces complex QEMU guest agent and fallback IP detection with a simpler method using a fixed wait and direct IP query. Streamlines UniFi OS installation monitoring by checking port 11443 instead of script existence, and suppresses libguestfs random seed warnings in virt-customize commands.
Suppress libguestfs warnings, enable and start QEMU Guest Agent during first boot, and enhance VM IP address detection by waiting for the guest agent to become available and adding a fallback method. These changes improve reliability and provide better feedback during VM initialization.
This update introduces interactive selection of operating system (Debian 13 or Ubuntu 24.04) and Cloud-Init support for VM creation. The script now fetches the latest UniFi OS Server installer dynamically, configures VM settings based on user choices, and injects the installer into the appropriate cloud image. Cloud-Init configuration is handled automatically for Ubuntu and optionally for Debian, improving flexibility and automation.
Updated default machine type to Q35 and improved user messaging for machine selection. Enhanced Docker and base package installation with DNS configuration and fallback to cloud-init if installation fails. Refactored Portainer installation logic and improved status reporting for Docker setup.
Introduces misc/cloud-init.sh, a universal Cloud-Init helper library for Proxmox VM scripts. Refactors vm/docker-vm.sh to source the new Cloud-Init library, reorganizes variable initialization, improves OS and configuration selection logic, and enhances user interaction for VM creation. Also adds a backup of the previous docker-vm.sh as docker-vm.sh.bak.
Introduces logic to detect SSH public keys on the host and prompt the user to use them for root login in new VMs. If no keys are found or declined, prompts for a root password with confirmation. Refactors authentication setup into a dedicated function and updates VM creation flow to configure authentication accordingly.
Corrected an extra quote in SNIPPET_PATH assignment and increased the whiptail radiolist width from 60 to 70 for better display in the Docker VM setup script.
Introduces a storage selection dialog for Cloud-Init snippets when running on Proxmox VE 9 in cloudinit install mode. Refactors storage selection for VM disks and improves error messages for missing storage types.