Whether you’ve had an old PC sitting in a closet collecting dust, or your old Windows 10 PC recently became a relic thanks to Windows 11’s hardware requirements, one of the best ways you can put it to work is a Home Assistant server.
What does Home Assistant do?
Usually, when you buy a smart device, you need to download the corresponding app from the manufacturer. Your Govee floor lamp needs the Govee app; those Phillips smart bulbs need the Hue app.
There have been a few attempts to ensure that smart devices are interoperable and “just work” together with standards like Matter, but Home Assistant largely beat them to the punchline.
Home Assistant is basically a one-stop-shop for all things smart home. Have a Philips Hue light? Grab the right integration for Home Assistant and you can control it. Have a smart lock? No problem—Home Assistant supports most of the major manufacturers.
With Home Assistant, you can automate the behavior of your smart devices, manage them individually, create a handy dashboard to keep an eye on their behavior, and even make them interact. Best of all, the entire thing is local—no cloud access or subscription required. That ensures the whole thing will keep working in the event of an internet outage, and you don’t have to worry as much about the privacy implications of a decked-out smart home.
Recently, I’ve been experimenting with some DIY occupancy sensors that will automatically toggle lights on and off at night, so I’m not left fumbling around in the dark. However, you’re really only limited by the devices you own or are willing to build—Home Assistant is extremely flexible.
Home Assistant isn’t just an application, it is an entire operating system called Home Assistant OS, often just written HAOS.
When you’re converting your old Windows 10 PC into a Home Assistant hub, you have two choices. You can install HAOS “bare metal,” in other words you install it directly on the PC as the only operating system.
Alternatively, you can install a hypervisor, like Proxmox, on the PC, and then run Home Assistant in a virtual machine.
Between the two options, running HAOS on Proxmox is definitely the better choice. Proxmox is a fantastic way to ensure your PC can be used for any number of other projects. I run about a dozen other things on my Proxmox server that I wouldn’t want to give up, so I just set up HAOS as another virtual machine.
Related
This is the only Linux distro I recommend for self-hosting
Proxmox makes self-hosting less risky and more approachable.
Setting up Home Assistant on Proxmox
Unfortunately, Proxmox doesn’t have a neat one-click option to get Home Assistant running, but it is still pretty easy.
First, open up your Proxmox Shell and enter the following command to download the Home Assistant OS image:
wget https://github.com/home-assistant/operating-system/releases/download/16.3/haos_ova-16.3.qcow2.xz
That link is valid at the time of writing, mid-January 2026, but you should check the Home Assistant page for a more recent link.
Next, we need to unpack the operating system image. This is a bit like unzipping a ZIP file. Run the following command, tweaking it as-needed if you’re using a newer version of Home Assistant. You can always check the file name by typing ls to list the files in your current directory.
unxz haos_ova-16.3.qcow2.xz
Now, click “Create VM” in the upper corner. This virtual machine is going to be set up so that we can just attach the Home Assistant image later. There are a few important settings you need to tweak while you click through the wizard.
First, make sure you select “Do not use any media” on the OS tab. On the System tab, make sure Machine is set to q35, BIOS is set to OVMF, EFI Storage is set to local-lvm, and that Pre-Enroll keys is not ticked.
Make sure you delete any disks on the Disks tab. Otherwise, you can use the default VM settings. However, I’d recommend giving your VM at least 2 cores and 4GB of RAM, and more would probably be better if you can spare it.
With the VM created, head back over to your Proxmox shell.
The command you’re going to use looks like this:
qm importdisk (number) (path/to/file) local-lvm.
There are two things that can change here:
- (Number) will be the number that appears next to your Home Assistant virtual machine. In my case, it is 100.
- (Path/to/file) This tells the command where to look for the Home Assistant image. In my case, it was located in the root folder. You can always run pwd to find out where your file is stored.
So, I ran the command:
qm importdisk 100 /root/haos_ova-16.3.qcow2 local-lvm
Now, head to the Hardware tab of your VM and double-click the Unused Disk at the bottom. In the window that pops up, tick the box next to Discard, then click “Add.”
Head to the Options tab, then double-click Boot Order. Untick all of the boxes besides scsi0, then click OK.
With that done, all you need to do is click the Start button. Your Home Assistant virtual machine will start, configure itself, and then tell you how to connect to it.
Once you have Home Assistant running, the sky is the limit. You can connect an extraordinary number of different devices and sensors to it, and you can even make your own if you’re feeling ambitious.

