So many Linux operating systems have open source graphical installers, but HAOS does not.
Implementing a graphical installer would lower the barrier to entry of Home Assistant.
So many Linux operating systems have open source graphical installers, but HAOS does not.
Implementing a graphical installer would lower the barrier to entry of Home Assistant.
While I understand the appeal of having a graphical installer, it’s important to note that HAOS itself isn’t a graphical operating system. It’s a command-line interface (CLI) system designed to be managed through web-based dashboards. The Home Assistant team likely prioritizes simplicity and reliability in the installation process over a full GUI experience, as HAOS is primarily intended to be accessed and managed from other devices you use daily, rather than the machine running it.
That said, I agree there could be small improvements to make the CLI feel more user-friendly. For example, the installer could potentially include more color or adopt a straightforward “arrow and enter” navigation style, similar to old router admin pages. However, the reality is that most of the complexity lies in reaching the point of installation—preparing hard drives, flashing the appropriate image, and setting up installation parameters—not in the installation wizard itself.
HAOS is more of a server operating system, akin to many Linux server distributions that run primarily in CLI with optional GUI support. For instance, tools like Balena Etcher or virtual machine managers already provide graphical interfaces for part of the setup, but the core functionality of HAOS remains focused on efficient, server-like operations.
Here’s a quick visual comparison:
Ultimately, HAOS is designed to be a powerful, lightweight server OS that’s managed remotely, not directly on the host machine. While a graphical installer might lower the barrier for some, the focus remains on its purpose as a robust platform for home automation.
For what parts do you expect a graphical installer?
As far as I remember you just put the HAOS image on the disk/SD card and let the system boot. After a while you can use the browser to continue the setup process (which is graphical at that point).
This. The TL;DR is that servers don’t usually include the necessary software to run any graphics. Including these tools would be a lot of bloat for just the installer.
Thanks for your post.
The Ubuntu example (4th photo) is what I have in mind. The second and third photos would be great steps in the right direction as well.
I am envisioning being able to boot a live instance of HAOS and click (or arrow/enter) my way through till the host machine has it installed. When I was a first time user, I used an old laptop so I would not have to spend any money to figure out if Home Assistant was for me. I assume that is a fairly common way that people begin their Home Assistant journey.
I understand Home Assistant’s purpose is to be a server, but still think that more people could make use of it as a server if there was an easier way to get it installed.
I see there is not too much need for use with Raspberry Pi’s, but installing HAOS on an old laptop/desktop requires either buying a dongle to write to a hard drive, or installing a live OS on a thumb drive, then downloading HAOS before writing it to the disk. Pretty convoluted for someone looking to level up from a “normie” smart home system like google or HomeKit.
Once you connect to the server on your phone app, the process is pretty great. Just getting to that point is a lot to take on for most people.
Do server operating systems not have the capacity to display a GUI? Genuine question.
Maybe that’s how I should have worded it; a bootable ISO with a GUI installer would greatly lower the barrier to entry.
VM’s are already GUI and instead of an ISO its just a vdi file that you put on the VM, there isnt a single setting in HA cli that actually has to be set once its running in a vm to get to the browser dashboard.
In a vm you might need to configure the network and efi settings but thats still in a gui.
There is no bootable form an os.iso for an os, that would brake the universe.
You want HA to be an application or for HA to have a proprietary VM with easier configurations. Maybe you want it to have a partitioning tool so you dont need linux to partition stuff?
I can get HA to run on windows virtual box in 7 mins and theres maybe 20 actions i must do to achieve this. Any other method takes time.
And they keep having to release an ever increasing number of “images” which oddly enough need MORE WORK to install on some platforms. IE proxmox provides no GUI way to deal with a qcow file yet supports them, instead you need to upload the image import the disk and do a bunch of extra steps.
Nearly all HW / Virtual x86 platforms would be handled by one image if it had a bootable installer instead of the current platform specific disk images.
Here is your GUI
Installing HAOS on Proxmox
Requirements
- A server running Proxmox VE (tested on versions 7.x and 8.x).
- Sufficient resources (2 CPUs, 4GB RAM, and 32GB storage recommended).
Steps
- Download the Home Assistant Disk Image:
- Go to Home Assistant OS releases and download the KVM/Proxmox .qcow2 image.
- Upload the Image to Proxmox:
- Log in to the Proxmox web interface.
- Navigate to Datacenter > Storage > > Content.
- Click Upload and select the
.qcow2
image.
- Create a New VM:
- Go to Datacenter > Create VM.
- Configure the VM with the following:
- VM ID: Assign an unused ID.
- Name:
HomeAssistant
.- OS: Select “Do not use any media.”
- System: Use UEFI and enable QEMU guest agent.
- Disks: Delete the default disk.
- Network: Add a network interface (e.g.,
vmbr0
).
- Attach the HAOS Disk Image:
- In the VM’s settings, go to Hardware > Add > Hard Disk.
- Select the uploaded
.qcow2
image and attach it.
- Start the VM:
- Start the VM and open the console.
- Follow the on-screen instructions to complete the setup.
Installing HAOS on Windows Using VirtualBox
Requirements
- Oracle VirtualBox installed on Windows.
- A downloaded HAOS VDI disk image from the HAOS website.
Steps
- Install VirtualBox:
- Download and install VirtualBox from Oracle’s website.
- Download HAOS Image:
- Download the VDI image from the HAOS installation page.
- Create a Virtual Machine:
- Open VirtualBox and click New.
- Name the VM
HomeAssistant
.- Configure:
- Type: Linux.
- Version: Other Linux (64-bit).
- Memory: At least 2GB.
- Storage: Select “Use existing disk” and attach the downloaded
.vdi
file.
- Configure Network:
- Go to the VM’s Settings > Network.
- Use Bridged Adapter for better network integration.
- Start the VM:
- Start the VM and follow the setup instructions.
Installing HAOS on Linux Using KVM
Requirements
- A Linux host (e.g., Ubuntu or Fedora) with KVM/QEMU installed.
- A downloaded QCOW2 image from HAOS installation.
Steps
- Install KVM and Tools:
sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
- Download HAOS Image:
wget https://github.com/home-assistant/operating-system/releases/download/9.5/haos_ova.qcow2
- Create a New VM:
- Open virt-manager or use the CLI:
virt-install \ --name HomeAssistant \ --ram 2048 \ --vcpus 2 \ --os-variant generic \ --disk path=/path/to/haos_ova.qcow2,format=qcow2 \ --import \ --network bridge=br0
- Start the VM:
- Power on the VM via virt-manager or CLI and complete the setup.
Installing HAOS on Windows Hyper-V
Requirements
- Windows 10 Pro/11 Pro or Windows Server (Hyper-V enabled).
- A downloaded VHDX image from the HAOS website.
Steps
- Enable Hyper-V:
- Open PowerShell as admin and run:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- Restart your computer.
- Download HAOS Image:
- Download the VHDX image from HAOS installation.
- Create a New VM:
- Open Hyper-V Manager.
- Click New > Virtual Machine and configure:
- Assign 2 CPUs and 2GB of RAM.
- Use the downloaded
.vhdx
as the virtual disk.- Configure networking (use the Default Switch for NAT).
- Start the VM:
- Power on the VM and complete the setup.
Installing HAOS on Docker (Supervised Mode)
Requirements
- A Linux machine or a Raspberry Pi with Docker installed.
Steps
- Install Docker:
sudo apt update sudo apt install docker.io docker-compose
- Install Home Assistant Supervised:
- Run the following script:
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh)"
- Access Home Assistant:
- Open a browser and navigate to
http://<YOUR_IP>:8123
.Installing HAOS on a Raspberry Pi (Standalone)
Requirements
- Raspberry Pi 3 or 4.
- MicroSD card (32GB or larger) and a reliable power supply.
Steps
- Download the Raspberry Pi Image:
- Download the
.img.xz
file from the HAOS website.
- Flash the Image:
- Use Balena Etcher or Raspberry Pi Imager to write the image to the SD card.
- Connect to the Network:
- Insert the SD card into the Pi and power it on. It will automatically connect to Ethernet or configured Wi-Fi.
- Access Home Assistant:
- Navigate to
http://homeassistant.local:8123
in your browser.Comparison of Installation Methods
Platform Pros Cons Proxmox Dedicated, isolated environment. Requires Proxmox expertise. VirtualBox Easy on Windows. Less efficient, manual updates. Linux (KVM) Highly configurable. Requires Linux familiarity. Hyper-V Easy for Windows Pro users. Networking may need manual config. Docker Flexible and lightweight. Not a fully standalone OS. Raspberry Pi Affordable and low power. SD card wear, lower performance.
Pardon my ignorance, but what do you mean about there not being bootable .iso files? Isn’t that what you download from Ubuntu’s website to make a live usb drive to install it on a computer?
You cant just double click an iso file and have an install wizard open
If your putting it on a PC you have to make a bootable drive to install it either way
Right, if I indicated otherwise, it was in error.
Yes and I think that is easier than how HAOS is currently installed onto hardware. I understand the argument that Home Assistant is a server, but I don’t see why the developers would not leverage an install method that (to my eyes) is essentially standardized across desktop Linux distros.
apparently i have to figure out “BusyBox + Kernel” to make this work …?
I am under the impression that this should be possible(creating some hybrid LinuxHAOS.iso installer thing(if i succeed itll probably still only run from the usb))
Option A: Without BusyBox (Direct HAOS Boot)
This assumes HAOS can boot directly from its kernel and initrd:
/ ├── boot/ │ ├── grubx64.efi │ └── grub/ │ └── grub.cfg ├── kernel/ │ ├── 1.hassos-kernel0.img │ └── 3.hassos-kernel1.img ├── system/ │ ├── 2.hassos-system0.img │ └── 4.hassos-system1.img ├── data/ │ └── 7.hassos-data.img └── install.sh
Option B: With BusyBox (Minimal Environment for Installation)
This adds a minimal Linux kernel, initramfs (with BusyBox), and links to HAOS:
/ ├── boot/ │ ├── grubx64.efi │ └── grub/ │ └── grub.cfg ├── busybox/ │ ├── vmlinuz # Minimal Linux kernel │ ├── initrd.img # Initramfs with BusyBox ├── kernel/ │ ├── 1.hassos-kernel0.img │ └── 3.hassos-kernel1.img ├── system/ │ ├── 2.hassos-system0.img │ └── 4.hassos-system1.img ├── data/ │ └── 7.hassos-data.img └── install.sh
to the dev asking why I’m not on Linux in these pics, i ask why aren’t you on unix?
You left out one option. I installed HAOS directly onto bare hardware. This use-case is why even a text only ui bootable installer would be nice
I would love to see a bootable (preconfigured working) ISO without installing, like a lot of Linux distributions make use of (Live CD/DVD option).
I.e. start a computer/device/VM from this (read-only) ISO just to check/play before installing it to a hardware device, for example when booting Linux Mint:
Used option in VirtualBox:
Just my 2 cents…
The install is intended to be headless. So no you should not expect a UI and why you’re getting the backlash.
The experience you get on the phone AFTER you login to the headless server IS your UI.
Until that point it’s all about putting the bootable disk image on the right disk and making your hardware (virtual or otherwise) boot it. that’s not something HAOS can fix for you.
Yes they could build thier own disk image tool I suppose instead of relying on the Pi imagery or Rufus or balena but it’s honestly wasted effort.
And to someone who said +1 to bootable iso. No.it would have to be a read write at a minimum - at its core HA is a state engine riding a database. No rw - no ha. You’d have to create ram storage at a minimum… That gets very complicated fast
All other OS, Mount ISO boot, run installer complete.