Mini PC Home Assistant Setup Guide — Install HAOS or Docker | Mini PC Lab
By Mini PC Lab Team · February 4, 2026 · Updated March 27, 2026
This article contains affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you. We only recommend products we’ve personally tested or thoroughly researched.

Home Assistant is the most capable open-source smart home platform available, and running it on a mini PC instead of a Raspberry Pi gives you better performance, more storage, and hardware that won’t go out of stock. This guide covers both installation methods — Home Assistant OS (HAOS) as a Proxmox VM for the full experience, and Home Assistant Container via Docker for simpler setups.
Before You Start
Requirements:
- Mini PC running Proxmox VE or Linux with Docker
- 4GB+ RAM allocated to Home Assistant (8GB recommended for Proxmox VM)
- 32GB+ storage for Home Assistant data
- Network cable recommended (Wi-Fi works but wired is more reliable for automations)
- Estimated time: 20–40 minutes
Hardware recommendations: The Intel N150 Beelink EQ14 handles Home Assistant plus many other containers simultaneously. Any mini PC from our best mini PC for Home Assistant guide works for this guide.
Method 1: Home Assistant OS in Proxmox VM (Recommended)
Running HAOS as a Proxmox VM gives you the full Home Assistant experience: Supervisor, Add-ons, backups, and one-click updates. This is the recommended approach if you’re already using Proxmox.
1a. Download the HAOS QEMU Image
# On your Proxmox host, download the latest HAOS image
cd /tmp
wget https://github.com/home-assistant/operating-system/releases/download/14.2/haos_ova-14.2.qcow2.xz
# Extract
unxz haos_ova-14.2.qcow2.xz
Check github.com/home-assistant/operating-system/releases for the current version number and replace 14.2 with the latest.
1b. Create the VM
In the Proxmox web UI, click Create VM:
| Setting | Value |
|---|---|
| VM ID | 100 (or any unused number) |
| Name | home-assistant |
| OS | Do not use any media → Linux 6.x kernel |
| System | Machine: q35, BIOS: OVMF (UEFI), add EFI disk |
| Disks | Delete the default disk — we’ll import the HAOS disk |
| CPU | 2 cores minimum, 4 recommended |
| Memory | 4096MB minimum, 8192MB recommended |
| Network | VirtIO bridge, vmbr0 |
After creating the VM, do not start it yet.
1c. Import the HAOS Disk
# From the Proxmox shell — replace 100 with your VM ID, and local-lvm with your storage
qm importdisk 100 /tmp/haos_ova-14.2.qcow2 local-lvm
After import, go to the VM → Hardware → you’ll see an unused disk. Double-click it, set bus to SCSI, click Add.
Go to VM → Options → Boot Order → enable the SCSI disk and move it to first position.
1d. Start the VM
Click Start. Open the Console tab. You’ll see Home Assistant booting. After 2–3 minutes, it will show:
Home Assistant login:
ha>
Find the IP address assigned to the VM:
ha> network info
Note the IPv4 address — you’ll use this to access the web UI.
1e. Complete Initial Setup
Open a browser and navigate to http://[HA-IP-ADDRESS]:8123.
Home Assistant shows the onboarding screen. This takes 5–10 minutes to fully initialize on first boot — wait for the setup wizard to appear.
Follow the wizard:
- Create your Home Assistant account
- Set your location (used for sun automations and weather)
- Home Assistant auto-discovers nearby smart home devices — confirm or skip
- Finish setup
Method 2: Home Assistant Container via Docker
This method is simpler but gives you a reduced feature set — no Supervisor, no Add-ons. You can still run Home Assistant fully, but features like the Add-on Store (for ESPHome, Node-RED, etc.) are not available. Use this if you’re not on Proxmox and want a quick setup.
mkdir -p ~/services/homeassistant
cd ~/services/homeassistant
# docker-compose.yml
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: homeassistant
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
docker compose up -d
Access at http://[YOUR-IP]:8123. Initial startup takes 2–5 minutes.
Note on network_mode: host: Required for Home Assistant to discover devices on your local network (mDNS, UPnP). Without it, Zigbee coordinators, Matter devices, and many integrations won’t be discoverable.
Step 2: Connect Your Smart Home Devices
Home Assistant’s auto-discovery finds many devices automatically on your network. For devices it doesn’t find automatically:
Adding Integrations
Settings → Integrations → Add Integration (+ button) → search for your device brand.
Popular first integrations:
- Google Home / Amazon Alexa — voice assistant bridges
- Philips Hue — local hub-based control
- Shelly — local Shelly devices without cloud
- Sonos — multi-room audio
- MQTT — for DIY devices (ESPHome, Tasmota)
- Zigbee Home Automation (ZHA) — if you have a Zigbee USB coordinator
- Matter — HomeKit-compatible devices
Connecting Zigbee Devices
Zigbee requires a USB Zigbee coordinator dongle. The most common are the SONOFF Zigbee 3.0 USB Dongle Plus-E ($20) and the HUSBZB-1 ($30).
For HAOS in a Proxmox VM, pass the USB device through:
# On the Proxmox host, find the USB device ID
lsusb
# Example: Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
# In Proxmox web UI: VM → Hardware → Add → USB Device
# Select "Use USB Vendor/Device ID" and enter the vendor:device ID
For Docker: add the USB device to the container:
devices:
- /dev/ttyUSB0:/dev/ttyUSB0 # or /dev/ttyACM0
Step 3: Create Your First Automation
Automations in Home Assistant follow the pattern: Trigger → Condition → Action.
Example: Turn on lights when the sun sets
- Settings → Automations & Scenes → Create Automation
- Trigger: “Sun” → “Sun sets” → offset: +0 minutes
- Condition: (skip for now)
- Action: “Call service” →
light.turn_on→ select your light entities → set brightness and color - Save
Example: Turn off all lights when everyone leaves home
- Trigger: “Zone” → select your home zone → “leaves”
- Condition: “State” → select all people → “not_home”
- Action:
light.turn_off→ entity: “All lights”
Step 4: Install Essential Add-ons (HAOS/Supervised Only)
The Add-on Store is one of the main reasons to run HAOS instead of the Docker container. Access it at Settings → Add-ons → Add-on Store.
Essential add-ons:
| Add-on | Purpose |
|---|---|
| File Editor | Edit config files directly in the browser |
| Terminal & SSH | Shell access to the HAOS instance |
| Mosquitto broker | MQTT broker for ESPHome and Tasmota devices |
| Node-RED | Visual automation editor (more powerful than the built-in editor) |
| ESPHome | Flash and manage ESP8266/ESP32 DIY smart home devices |
| Samba share | Access the HA config folder as a network drive |
Install by clicking the add-on → Install → Start → enable “Start on boot” and “Watchdog.”
Step 5: Set Up Remote Access
Method 1: Nabu Casa (paid, simplest) $6.50/month. Settings → Home Assistant Cloud → sign up. Instant remote access, no configuration.
Method 2: Tailscale (free)
Install Tailscale as a Home Assistant add-on (HAOS) or on your Linux host (Docker). Access your HA instance via the Tailscale IP from anywhere. No port forwarding, no subscription.
Method 3: Port forward 8123 on your router
Forward external port 443 to internal port 8123 on your mini PC’s IP. Install a TLS certificate via Let’s Encrypt (available as a HA add-on for HAOS). Requires a domain name.
Quick Price Summary
- Beelink EQ14 — Home Assistant host, 6W idle
- SONOFF Zigbee 3.0 USB Dongle Plus-E — Zigbee coordinator dongle
Troubleshooting
Home Assistant is slow to load automations
First launch and database migrations take time. Wait 10 minutes on a new install. If slow after that, check the recorder settings in configuration.yaml — the default keeps 10 days of history. Reduce to 3–5 days for faster performance:
recorder:
purge_keep_days: 5
exclude:
domains:
- automation
- script
USB Zigbee dongle not detected in Proxmox VM
Verify the USB is passed through correctly (see Step 2). In the VM, check ls /dev/ttyUSB* or ls /dev/ttyACM*. If not present, the passthrough isn’t working — try re-attaching the USB device in Proxmox VM Hardware settings while the VM is running.
Integrations show “unavailable” after setup
Most “unavailable” states on first setup resolve within 5 minutes. If persistent, check that the device is on the same network as Home Assistant (verify network_mode: host for Docker). For cloud integrations (Google Home, Alexa), re-authenticate.
Recommended Hardware
→ Check Current Price: Beelink EQ14 on Amazon — N150, 6W idle, runs HAOS + Docker containers simultaneously → Check Current Price: SONOFF Zigbee 3.0 USB Dongle Plus-E on Amazon — plug-and-play Zigbee coordinator for ZHA and Zigbee2MQTT
See also: best mini PC for Home Assistant guide | best mini PC for home server guide