Back to Home

Proxmox VE for Home Assistant: migration from Raspberry Pi

The article describes migration of Home Assistant from Raspberry Pi to Proxmox VE. It provides step-by-step installation instructions, BIOS setup and virtual machine architecture. The solution ensures reliability and flexibility for the smart home.

Ditch Raspberry Pi: Proxmox VE for a reliable smart home
Advertisement 728x90

# From Raspberry Pi to Proxmox VE: A Fault-Tolerant Platform for Home Assistant

Using a Raspberry Pi with a microSD card for Home Assistant is common but unreliable. A single power outage without a proper shutdown corrupts the filesystem and wipes out all your data. The core issue is flash storage's lack of resilience to frequent writes. For a 24/7 smart home, that's a dealbreaker. Unlike SSDs, microSD cards don't have robust enough wear-leveling controllers, which speeds up degradation. The result? Random crashes and the hassle of daily backups that people often forget to set up.

Hardware Selection Criteria

When shopping for a Raspberry Pi replacement, we focused on:

  • Storage Reliability: SSD over microSD. NVMe delivers top speed and longevity.
  • Performance: At least 4 cores for running tasks in parallel (HA, AdGuard, backup VM).
  • Power Consumption: Up to 15 W for nonstop operation without jacking up your electric bill.
  • Virtualization: KVM support for isolating services and easy snapshots.

Our pick: A mini-PC with Intel N100 (4 cores, up to 3.4 GHz), 16 GB RAM, and 512 GB NVMe SSD. This setup leaves plenty of headroom for multiple VMs and containers. The Intel N100 is idealβ€”super efficient (6-15 W under load), hardware virtualization-ready, and equipped with dual 2.5GbE ports for networking. DDR4 RAM is upgradable to 32 GB for future-proofing.

Google AdInline article slot

BIOS Setup: Critical Parameters

Before installing Proxmox VE, tweak your BIOS/UEFI:

  • Boot from USB: In the Boot section, prioritize the USB drive at the top of the list. This ensures it boots from the installer.
  • State After G3: Under Boot Configuration, set State After G3 to [S0] (Power On). This powers the system on automatically after a blackout and gets it running. For a smart home, it's non-negotiableβ€”otherwise, your automations stay dead after an outage.

Why S0 specifically? S0 (Working) is full operational mode. Selecting it means the system jumps straight back to normal after power returns. Other options (S1-S5) drop the PC into sleep or hibernation, which is useless for a server. S0 alone guarantees services start right up.

Installing Proxmox VE 8.3: Key Steps

Proxmox VE 8.3 installs in 10-15 minutes. Here's the rundown:

Google AdInline article slot
  • Disk Selection: Pick the NVMe SSD in the installer interface. Everything on it gets erasedβ€”double-check you don't need a backup.
  • Network: Assign a static IP (e.g., 192.168.1.100/24). This avoids headaches from the management panel's IP shifting.
  • Password: Go with a strong root passwordβ€”12+ characters mixing letters, numbers, and symbols.
  • Post-Install: Pull the USB drive before rebooting, or it'll loop back to it.

The web UI is at https://<IP>:8006. On first login, your browser will flag the self-signed certificate. Hit β€œAdvanced” β†’ β€œProceed” (wording varies by browser).

Post-Installation Setup: Ditch the Paid Subscription

Proxmox VE nags for a paid subscription by default to get updates. Switch to free repos with this community script:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"

It handles:

Google AdInline article slot
  • Disabling pve-enterprise (paid repo)
  • Enabling pve-no-subscription (free one)
  • Updating to the latest version
  • Setting up Ceph repos for compatibility

Run it, and updates flow freely without a sub. You're now VM-ready.

Smart Home Architecture on Proxmox

Post-install, spin up these environments:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Proxmox VE (host)         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ VM #100: HAOS       β”‚    β”‚
β”‚  β”‚ Home Assistant OS   β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ VM #101: (backup)   β”‚    β”‚
β”‚  β”‚ Test environment    β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ LXC: AdGuard/Docker β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The beauty of this setup? Total service isolation. Home Assistant runs in its own VM on Home Assistant OS for rock-solid stability. AdGuard lives in an LXC container to block ads network-wide. The backup VM is your testing ground: snapshot the main VM, tweak the backup one, and roll changes to production if they pass muster.

Key Takeaways

  • Data Reliability: NVMe SSD banishes the microSD woes that plague Raspberry Pi setups. Essential for 24/7 uptime.
  • Auto Recovery: BIOS State After G3 setting ensures the mini-PC boots solo after a power blip.
  • Flexibility: Virtualization lets you run HA, AdGuard, and more in isolated sandboxesβ€”no conflicts.
  • Safe Updates: Snapshots mean testing tweaks in 30 seconds with instant rollback.
  • Energy Efficiency: 6–15 W keeps it viable for always-on use without breaking the bank.

β€” Editorial Team

Advertisement 728x90

Read Next