Skip to main content
Selora Homes Selora Homes

Virtualized Environments (Advanced)

Run Selora Hub as a guest VM on Proxmox VE, Unraid, ESXi, Hyper-V, libvirt/QEMU, or aarch64 hosts. Requires nested virtualization.

Selora-Hub Installation Virtualization Proxmox Unraid Homelab

Virtualized Environments

Many installers and homelab users already run a hypervisor for the rest of their stack and prefer to consolidate Selora Hub onto it. Selora Hub runs fine as a guest VM on any hypervisor that can boot a UEFI NixOS image and expose nested virtualization to the guest. The inner Home Assistant VM needs KVM (or the ARM equivalent) for acceptable performance, otherwise it falls back to slow software emulation.

Supported architectures

  • x86_64 hosts: Proxmox VE, Unraid, ESXi, Hyper-V, libvirt/QEMU. Enable nested KVM and use a host-type CPU.
  • aarch64 hosts: UTM or Parallels on Apple Silicon, libvirt/QEMU on ARM Linux. Use the -aarch64 installer ISO .

Host configuration (one-time)

Enable nested virtualization on the host. The exact step depends on the platform:

  • Linux KVM/QEMU on Intel (Proxmox, Unraid, libvirt): add options kvm-intel nested=Y to /etc/modprobe.d/kvm.conf, then reload the module (modprobe -r kvm_intel && modprobe kvm_intel). Verify with cat /sys/module/kvm_intel/parameters/nested - it should return Y.
  • Linux KVM/QEMU on AMD: add options kvm-amd nested=1 to /etc/modprobe.d/kvm.conf, then reload the module (modprobe -r kvm_amd && modprobe kvm_amd). Verify with cat /sys/module/kvm_amd/parameters/nested - it should return 1.
  • ESXi: enable “Expose hardware-assisted virtualization to the guest OS” on the VM (or vhv.enable=TRUE in the VMX file).
  • Hyper-V: run Set-VMProcessor -VMName <name> -ExposeVirtualizationExtensions $true on the host.
  • Apple Silicon (UTM, Parallels): ARM nested virtualization is enabled by default; no host change needed.

Guest VM configuration

  • Machine type: UEFI with Secure Boot disabled. Use q35 + OVMF on x86_64, virt + EDK2 on aarch64.
  • CPU type: pass-through host CPU features. Use host in Proxmox/libvirt, host-passthrough in Unraid, or “Expose virtualization” in ESXi/Hyper-V.
  • vCPU: 4 minimum.
  • RAM: 8 GB minimum. Run Selora AI Local in a sibling VM (see below).
  • Disk: 500 GB, virtio.
  • Network: virtio, bridged to a LAN with DHCP or a fixed IP.

Exposing host CPU features is what hands the VMX/SVM (or ARM virt) flags down to the guest, which Selora Hub needs to start the inner Home Assistant QEMU VM with hardware acceleration. Without it the device will boot, but Home Assistant will not start.

Guest sanity checks

Once Selora Hub is installed and you have shell access on the guest, confirm nested virtualization is wired up:

  • On x86_64: grep -E 'vmx|svm' /proc/cpuinfo must return matches
  • /dev/kvm must exist
  • kvm-ok (from the cpu-checker package) reports KVM acceleration is usable

If any of these fail, double-check the host nested-virt setting and the VM’s CPU type.

USB, Bluetooth, and GPU passthrough

If the installation uses USB radios (Zigbee or Z-Wave coordinators), Bluetooth, or GPU-accelerated workloads, configure passthrough at VM creation time so the guest sees the hardware directly:

  • USB passthrough is required for any USB-attached Zigbee or Z-Wave stick. Pass the device through by vendor/product ID rather than by bus port so the binding survives reboots and re-plugging. A PoE-attached Zigbee coordinator sidesteps USB passthrough entirely and improves placement flexibility (see PoE Zigbee coordinator placement ).
  • Bluetooth passthrough requires the host to release the Bluetooth adapter so the guest can claim it. On Linux KVM/QEMU hosts, blacklist the btusb driver: add blacklist btusb to /etc/modprobe.d/pve-blacklist.conf (Proxmox) or any /etc/modprobe.d/*.conf file (Unraid, libvirt), then reboot. After that, pass the Bluetooth USB device through to the Selora Hub VM by vendor/product ID.
  • GPU passthrough into the Selora Hub VM is not recommended. In a virtualized environment, run Selora AI Local inference in a dedicated sibling VM (Ollama or llama.cpp with GPU passthrough) and point Selora Hub at its OpenAI-compatible API endpoint over the LAN. This isolates the AI workload from Home Assistant, avoids stacking VFIO on top of nested KVM, keeps update cycles independent, and makes it easy to size CPU/RAM/GPU per concern. The same applies to Frigate with NVIDIA/Intel decoding - prefer a dedicated VM with the GPU attached. For passthrough setup, refer to Proxmox PCI(e) Passthrough or Unraid GPU passthrough .

Booting the VM

Unlike a bare-metal install, you don’t need a USB flash drive or BIOS configuration. Instead:

  1. Download the Selora Hub ISO from downloads.selorahomes.com . Pick the -aarch64 build for Apple Silicon or ARM Linux hosts; otherwise use the Intel & AMD build.
  2. Upload the ISO to your hypervisor’s ISO storage.
  3. Attach it to the VM as a CD/DVD drive and set the boot order to boot from CD/DVD first.
  4. Start the VM. The installer runs automatically and takes approximately 5-10 minutes.

When the VM displays the registration screen, follow the Getting Started guide to register your device and configure Home Assistant.

Support

These configurations are not yet formally tested by Selora Homes. If you hit issues, check the bare-metal installation guide for general troubleshooting, then contact Selora Homes support at connect.selorahomes.com/support .

Type to search across cities, counties, and installers

↑↓ navigate open
⌘K search