If you’re running Proxmox and want a quick, reliable way to get Home Assistant OS up and running, the Proxmox Helper Scripts are a lifesaver.
Developed by the community (shoutout to the late tteck), these scripts simplify the process of setting up various virtual machines and containers on Proxmox — no manual downloading, no disk formatting, no copy-pasting dozens of commands.
In this guide, we’ll be using the VM Helper Script to install Home Assistant OS as a full virtual machine. This method gives you the closest experience to a Home Assistant Blue or Yellow device, with full supervisor support and no limitations.
Unlike an LXC container, which is more lightweight but doesn’t support all features of Home Assistant OS, the VM version provides the full Home Assistant experience — including Supervisor, Add-ons, and direct access to USB devices for Zigbee/Z-Wave integrations.
Let’s get started!
Step 1: Run the Home Assistant VM Helper Script
The easiest way to install Home Assistant OS on Proxmox is to use the community-maintained VM Helper Script. It handles downloading the latest .qcow2 disk image, configuring the virtual machine, and setting everything up for you.
- Open the Proxmox Shell
You can do this via the web UI (select your node, followed by Shell at the top right corner) or by SSHing into your Proxmox host.
- Run the VM Helper Script:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/haos-vm.sh)"
- When prompted “Install Home Assistant OS VM?”, press Enter to confirm.
The “Yes” option is pre-selected in red, so there’s no need to type anything. - On the next screen, the script will ask “Use default settings?”
- We recommend pressing Enter again to accept the defaults. You can always adjust CPU, memory, and other settings later in the Proxmox web interface.
- Wait for the script to finish. It will download the latest Home Assistant OS image and configure the VM.
- When you see the message
Completed Successfully, close the terminal and return to the Proxmox web UI.
Step 2: Locate and Start the Home Assistant VM
Now that the script has created the VM, it’s time to check that it’s running and open the console.
- Open the Proxmox Web UI in your browser.
- If you don’t see the VM right away, click the small arrow beside your node name in the left-hand sidebar. This will expand the list and show all VMs on that node.
- Look for the VM you just created — it will be named something like
home-assistant(or similar, depending on what the script named it). - In most cases, the script automatically starts the VM after creating it. If the status icon is green, it’s already running.
- If it’s not running, select the VM, then click the Start button at the top of the screen.
- With the VM selected, click the Console tab to view its output. You should see Home Assistant OS booting up. This first boot can take several minutes.
- When setup is complete, the console will display a message like:
Welcome to the Home Assistant command linefollowed by the server’s IP address. Make a note of this.
Note on RAM usage
You might notice that the VM appears to be using a lot of RAM in Proxmox — often close to what was allocated. This is normal. Home Assistant OS uses available memory for caching and performance, which is expected behavior and not a sign of a problem.
Step 3: Access the Home Assistant Web Interface
Once Home Assistant OS has finished booting, you can complete the setup through your browser.
- Open a browser on your local network and go to:
http://<IP_ADDRESS>:8123Replace<IP_ADDRESS>with the address you saw in the console. - When you first connect, Home Assistant will automatically begin its initial installation and setup in the background.
This process includes setting up Docker, preparing the Supervisor, and downloading additional components.
Be patient, this can take up to 20 minutes, especially on slower systems or networks. - Once setup is complete, you’ll be taken to the onboarding screen, where you can create your Home Assistant user account and begin setting up your smart home.
Step 4: Complete the Home Assistant Onboarding
Once the background installation has finished, you’ll be taken to the Home Assistant onboarding flow. This only happens on the first setup and walks you through configuring your initial account and settings.
Here’s what to expect:
- Click “Create My Smart Home”
This begins the onboarding process. - Create your user account
You’ll set a name, username, and password. This will be your administrator account, used to log into the Home Assistant web UI. - Set your location
Home Assistant uses your location to determine:- Sunrise/sunset times for automations
- Weather data
- Local time zone
If privacy is a concern, you can set it to your general region rather than your exact address.
- Choose whether to share anonymous analytics
Home Assistant collects basic, anonymous usage statistics to help improve the project.
This is disabled by default, and you can opt in if you want. - Review any discovered devices
If Home Assistant detects compatible devices already on your network (like smart bulbs, hubs, or media players), they’ll be listed here. - View the default dashboard
After onboarding is complete, you’ll be taken to the default dashboard — your new smart home control centre. From here, you can start adding integrations, creating automations, or installing add-ons via the Supervisor panel.
Step 5: Accept Your Fate
Congratulations — Home Assistant is now installed!
And with that… it’s all over for your free time.
You’re now entering the wonderfully chaotic world of smart home automation, where:
- You’ll spend three hours automating a light just to avoid touching a switch.
- Your partner will ask why the bathroom light turned purple when the dishwasher finished.
- And at least once, you’ll whisper “This is the way” as a motion sensor flawlessly triggers an automation you spent five evenings debugging.
This is your new hobby now. You don’t choose Home Assistant — it chooses you.
So go ahead:
- Explore the Integrations panel.
- Install HACS if you’re feeling spicy.
- And start automating everything, because why not?
Just… maybe keep a few light switches around. You know, for emergencies.
