Available VM Categories
Linux VMs
Debian, Ubuntu, Arch Linux, and general-purpose Linux VMs
Home Assistant OS
Home Assistant Operating System for home automation
Network Appliances
OPNsense, OpenWrt, MikroTik, and other network solutions
Storage & Apps
TrueNAS, Nextcloud, ownCloud, and other specialized VMs
All Available VM Scripts
Linux Operating Systems
| Script | Description | Version |
|---|---|---|
debian-vm.sh | Debian 12 (Bookworm) VM | 12 |
debian-13-vm.sh | Debian 13 (Trixie) VM | 13 |
ubuntu2204-vm.sh | Ubuntu 22.04 LTS (Jammy) VM | 22.04 |
ubuntu2404-vm.sh | Ubuntu 24.04 LTS (Noble) VM | 24.04 |
ubuntu2504-vm.sh | Ubuntu 25.04 (Plucky) VM | 25.04 |
archlinux-vm.sh | Arch Linux VM | Rolling |
docker-vm.sh | Docker-ready Linux VM | Latest |
Home Automation
| Script | Description |
|---|---|
haos-vm.sh | Home Assistant OS (standard) |
pimox-haos-vm.sh | Home Assistant OS for Raspberry Pi |
Network Appliances
| Script | Description | Version |
|---|---|---|
opnsense-vm.sh | OPNsense Firewall | 25.7 |
openwrt-vm.sh | OpenWrt Router | Latest |
mikrotik-routeros.sh | MikroTik RouterOS CHR | Latest |
Storage & Cloud Solutions
| Script | Description |
|---|---|
truenas-vm.sh | TrueNAS CORE storage solution |
nextcloud-vm.sh | Nextcloud file sharing platform |
owncloud-vm.sh | ownCloud file sharing platform |
umbrel-os-vm.sh | Umbrel OS home server |
How VM Scripts Work
Interactive Configuration
Each script presents an interactive menu to configure:
- VM ID
- Hostname
- CPU cores
- RAM allocation
- Disk size
- Network settings
- Additional options specific to the VM type
Automated Installation
The script automatically:
- Downloads the OS image
- Creates the VM with specified settings
- Configures initial setup
- Starts the VM (optional)
General Usage Pattern
All VM scripts follow this standard execution pattern:Replace
SCRIPT-NAME.sh with the actual script filename from the tables above.VM vs CT (Container)
When to use a VM
When to use a VM
- Need full kernel control
- Running non-Linux operating systems
- Require complete hardware virtualization
- Need specific kernel modules
- Running production network appliances
When to use a Container (CT)
When to use a Container (CT)
- Running Linux applications
- Need better performance and lower overhead
- Want faster startup times
- Running multiple instances of same service
- Development and testing environments
Common Configuration Options
Most VM scripts support these configurable options:- VM ID: Unique identifier (100-999999)
- Hostname: VM name
- CPU Cores: Number of virtual CPU cores
- RAM: Memory allocation in MB/GB
- Disk Size: Primary disk size
- Bridge: Network bridge (vmbr0, vmbr1, etc.)
- MAC Address: Automatically generated or custom
- Start on Boot: Auto-start VM with Proxmox
- Start after Creation: Immediately start the VM
Advanced Features
VLAN Support
Many VM scripts support VLAN tagging for network isolation:SSH Key Injection
Some Linux VM scripts support SSH key injection during creation for passwordless access.Cloud-Init Support
Certain VM scripts leverage cloud-init for automated configuration.Requirements
Next Steps
Linux VMs
Explore Linux VM options
Home Assistant
Set up home automation
Network Appliances
Deploy network solutions