Install Home Assistant on your own PC or server
Have you got an old PC, mini PC, or self-built server lying around? You can run Home Assistant on it just fine, often faster than on a Raspberry Pi. There are four common ways. Below we explain them, so you can choose what fits your hardware.
Which installation method is right for you?
- Home Assistant OS on the entire machine: the easiest route with all add-ons. The machine is then exclusively for Home Assistant.
- Home Assistant OS in a virtual machine (Proxmox, VirtualBox, VMware): ideal if your server needs to do more. You keep all add-ons.
- Home Assistant Container (Docker): fits into an existing Docker environment, but has no add-ons. You then run those yourself as separate containers.
- Older methods like Core and Supervised are discouraged or no longer supported by the project. Don’t choose them for a new installation.
Method 1: Home Assistant OS on a dedicated PC
Your machine must be 64-bit x86 with UEFI boot support, at least 2 GB RAM and 32 GB storage.
- Download the Generic x86-64 image (
.img.xz) from the official installation page on home-assistant.io. - Connect the target SSD (or disk) with a USB adapter to another computer and write the image to it with balenaEtcher. There is no installer: the image itself is the system.
- Put the disk in the PC, turn off Secure Boot in the BIOS and boot from that disk.
- After a few minutes, open
http://homeassistant.local:8123and complete the onboarding.
Method 2: Home Assistant OS in Proxmox
Create a VM with the following commands on the Proxmox host. First download the .qcow2.xz file (KVM/Proxmox) from home-assistant.io and extract it. Adjust the VM number, storage name and file name.
qm create 200 --name haos --ostype l26 --machine q35 --bios ovmf \
--cores 2 --memory 4096 --net0 virtio,bridge=vmbr0 \
--scsihw virtio-scsi-pci --agent enabled=1 \
--efidisk0 local-lvm:1,efitype=4m,pre-enrolled-keys=0
qm disk import 200 haos_ova-XX.X.qcow2 local-lvm
qm config 200 # find the line "unused0"
qm set 200 --scsi0 local-lvm:vm-200-disk-1 --boot order=scsi0
qm start 200
Important: UEFI (OVMF) with pre-enrolled-keys=0, otherwise the VM won’t boot due to Secure Boot. If you want to pass through USB dongles (Zigbee), add them as a USB device to the VM.
Method 3: Home Assistant Container with Docker
Handy if you already have a Docker server. Create a folder with a compose.yaml:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
Start it with docker compose up -d and then open port 8123 on the IP address of your server. network_mode: host is necessary so Home Assistant can discover devices on your network.
Tips for a dedicated PC or server
- A mini PC with an Intel N100 uses only a few watts and is much faster than a Pi.
- Enable Wake-on-power or “restore after power failure” in the BIOS, so everything comes back automatically.
- Use a static IP address or DHCP reservation.
- Make a backup before every major update, and also a snapshot for a VM.
- Don’t run Home Assistant on a disk with unknown health: check it first with SMART.