Installation Methods
Home Assistant OS runs as a virtual machine (not an LXC container) to provide full access to hardware and ensure compatibility.Home Assistant OS
Recommended Method
- Full VM installation
- Complete Home Assistant features
- Add-on support
- Best compatibility
Alternative Methods
Container Options
- Home Assistant Container
- Home Assistant Core
- Limited add-on support
Quick Installation
Choose Installation Type
You’ll be prompted to choose between:
- Default Settings - Quick setup with recommended values
- Advanced Settings - Customize all parameters
Wait for Installation
The script will:
- Download the latest Home Assistant OS image
- Create and configure the VM
- Import the disk image
- Configure EFI boot
- Start the VM (if selected)
Default Configuration
The script uses these default settings:| Setting | Default Value |
|---|---|
| VM ID | Next available ID |
| Machine Type | q35 (Modern PCIe) |
| Disk Size | 32 GB |
| Hostname | haos- |
| CPU Model | KVM64 |
| CPU Cores | 2 |
| RAM | 4096 MB (4 GB) |
| Network Bridge | vmbr0 |
| Start VM | Yes |
Home Assistant OS uses UEFI boot with EFI disk and virtio-scsi-pci storage controller for optimal performance.
Advanced Configuration
When using advanced settings, you can customize:Version Selection
- Stable (Recommended)
- Beta
- Dev
The stable version is thoroughly tested and recommended for production use.
Machine Type
Q35 (Recommended)
Modern machine type with:
- PCIe support
- UEFI firmware
- Better device passthrough
- Default option
i440fx
Legacy machine type:
- Older compatibility
- PCI (not PCIe)
- Use if migration needed
CPU Configuration
Host CPU (Recommended):- Uses host CPU features
- Better performance
- Cannot migrate to different CPU types
- Generic CPU model
- Safe for migration
- Slightly lower performance
Storage Requirements
Resize disk during installation:Network Configuration
Static IP Address
After first boot, configure a static IP:VLAN Configuration
If you need to assign a VLAN tag:Hardware Passthrough
USB Device Passthrough
For Zigbee, Z-Wave, or other USB devices:GPIO / Serial Devices
For devices requiring serial access:Performance Optimization
Enable Ballooning Device
Allow dynamic memory allocation:Disk Cache Mode
For better I/O performance:CPU Performance
Pin CPU cores for better performance:Backup and Restore
Creating Backups
- CLI Method
- Web UI Method
Automated Backups
Set up scheduled backups:- Navigate to Datacenter → Backup
- Click Add
- Configure:
- Storage location
- Schedule (e.g., daily at 2 AM)
- Retention policy
- Compression method
Restore from Backup
Updating Home Assistant
Home Assistant updates are handled within the OS:Troubleshooting
VM Won’t Start
Check VM Status
Check VM Status
View VM Logs
View VM Logs
Verify EFI Disk
Verify EFI Disk
Can’t Access Web Interface
Disk Space Issues
- Settings → System → Storage
- Reboot to apply changes
Migration from Other Platforms
From Raspberry Pi
From Docker/Supervised
Use the data copy tools:Best Practices
Regular Backups
- Daily automated backups
- Before major updates
- Before adding integrations
- Store off-host
Resource Monitoring
- Monitor CPU usage
- Watch memory consumption
- Check disk space
- Review logs regularly
Security
- Use strong passwords
- Enable 2FA
- Keep HA updated
- Use HTTPS (reverse proxy)
Network Isolation
- Separate IoT VLAN
- Firewall rules
- No direct internet access
- Use VPN for remote access
Next Steps
Add USB Devices
Configure USB passthrough for Zigbee/Z-Wave
Network Security
Set up VLANs and firewall rules
Reverse Proxy
Install Nginx Proxy Manager for HTTPS