Installing Home Assistant OS using Proxmox 7

Installing Home Assistant OS using Proxmox 7

This guide will help you to install Home Assistant, on almost any x86/64 machine type you choose using Proxmox as the operating system. This guide has been tested on machines including a Dell Optiplex SFF 990, Dell Optiplex USFF 780 and a HP T520 thin client.

This guide also utilizes scripts to simplify the installation process, always remember to use due diligence when sourcing scripts and automation tasks from third-party sites. If you wish to view the source code of the scripts used in this guide a link is available at the bottom.

This installation uses an Official KVM Image provided by the Home Assistant Team and is considered a supported installation method. This method of installation is considered easy/medium difficulty and some knowledge of how to use and interact with Linux is suggested.

If you have an existing Home Assistant installation and would like to know how to backup your current configuration to restore later, please see the documentation on backing up and restoring your configuration as well as some additional information HERE.

Section 1 - Installing Proxmox VE 7

1.1) You will want to ensure UEFI Boot & Virtualization is enabled and Secure Boot is disabled in the bios of your machine.

1.2) Download the Proxmox VE 7.x ISO Installer.

1.3) You will now need to make a bootable USB drive using balenaEtcher. Using a USB drive of at least 8gb, insert it into your PC, open Etcher, select the Proxmox VE image you just downloaded, select your USB drive, then click Flash.

1.4) Insert the bootable USB drive you just made into the machine you wish to install Proxmox VE on. Connect a monitor, Ethernet cable, keyboard, mouse, and power on the machine. If the machine doesn’t boot from the USB drive automatically, you will need to enter the boot options menu by pressing Esc, F2, F10 or F12, (This relies on the company of the computer or motherboard) on your keyboard immediately when the machine is powering on.

1.5) When you see the first screen, select Install Proxmox VE and press Enter. The installer will perform some automated tasks for 1-2 minutes.

1.6) On the EULA screen, select, I Agree.

1.7) On the Proxmox Virtualization Environment (PVE) screen, you will get the option to choose which disk you want to install Proxmox VE on. When finished, click Next.

1.8) On the Location and Time Zone selection, Type your country, then select your time zone and change the keyboard layout if needed. When finished, click Next

1.9) On the Administration password and E-mail address screen, choose a password (make sure you don’t forget it), confirm your password and enter a valid email address. When finished, click Next

1.10) On the Management network configuration screen.

  • Management interface Should auto populate with the network interface (Ethernet) of your machine. If not, select the network interface.
  • Hostname (FQDN) - The first part of the hostname is what your node will be called under Datacenter, you might want to change this to something more friendly now, the default is “pve” (eg. proxmox.lan).
  • IP Address - Should auto populate. If the IP address looks odd here and not at all like the address range of your other devices, it’s possible you may not be connected to your network, so check your network cable and start again.
  • Netmask - Should auto populate and be something like 255.255.255.0 depending on your network configuration.
  • Gateway - Should auto populate to the IP address of your router. If not, make sure you’re connected to your network
  • DNS server - Should auto populate to the same IP address as your gateway. Or, input one of your choosing. When finished, click Next

1.11) Next on the Summary screen, confirm that all of the details are correct. When confirmed click Install.

Proxmox VE will install and is finished once it displays its IP address on the screen. Take note of the IP address! It’s needed to access Proxmox via a web browser. Remove the USB drive, and click Reboot. While the machine is rebooting, you can unplug the monitor, keyboard and mouse, as they’re no longer needed.

1.12) After 1-2 minutes, you should be able to access Proxmox VE via a web browser using the noted IP address from above (eg. http://192.168.1.10:8006) If you see a message “Warning: Potential Security Risk Ahead”, you can safely ignore this, accept the risk and continue. Login with User name: root and the password you created on the Administration password and E-mail address screen.

Section 2 - Configuring and Updating Proxmox VE 7

Before installing Home Assistant OS, you will want to make sure that Proxmox VE has the latest updates and security patches installed. This has been made very simple with a script

The script will give options to Disable the Enterprise Repo, Add/Correct PVE7 Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag and Update Proxmox VE.

2.1) To run the Proxmox VE 7 Post Install script, copy and paste the following command in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-install.sh)"

It’s recommended to answer y to all options.

Section 3 - Installing Home Assistant OS

Installing Home Assistant OS using Proxmox VE has been made very simple with a script

The script automates the manual process of finding, downloading and extracting the Official KVM (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM. No hidden (kpartx, unzip) installs of any kind. Supports lvmthin, zfspool, nfs, dir and btrfs storage types.

3.1) To run the Home Assistant OS VM install script, copy and paste the following command in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v4.sh)"

3.2) It’s recommended to press [ENTER] to use the default settings. (Advanced settings are available for changing settings such as mac, bridge, vlan, ect…) It will then download the Official KVM Image from the Home Assistant github and configure it in Proxmox VE for you. This will take 2-20 minutes depending on your internet connection and machine.

Once this has finished, you will see ✓ Completed Successfully!.

3.3) The Home Assistant OS VM will be assigned a different IP address than the one Proxmox VE is using. To find the IP address of the newly created Home Assistant OS VM, click on the VM (eg. haos8.2) then click Summary from the menu list, wait for Guest Agent to start. The IP address listed here is needed to access Home Assistant via a web browser using port 8123 (eg. http://192.168.1.50:8123).

Once you can see the login screen, the setup has been completed and you can set up an account name and password. If you are new to Home Assistant you can now configure any smart devices that Home Assistant has automatically discovered on your network. If you have an existing Home Assistant install and you have a snapshot or YAML files you wish to restore, refer to Home Assistant website on backing up and restoring your configuration, located HERE as well as some additional information HERE

I welcome feedback on this guide, please feel free to tag me or PM if you have suggestions on how to make improvements. Scripts provided by @tteck. These and other helpful information can be found at https://github.com/tteck/Proxmox

137 Likes
Proxmox + Ubunutu + Docker + HA + PFSense
Troubles running on Proxmox
New installation on small PC
[On Hold] Deprecating Home Assistant Supervised on generic Linux
Simplisafe alarm requiring code and I don't want it to
Install options on Proxmox (LXC)?
Proxmox with whiskerz hassos install
CLI not starting on new install
Installing Home Assistant Supervised on Debian 11
To Proxmox or not to Proxmox
Proxmox Install of HassOS - How To Free Up Local-LVM Storage?
NUC install: HA OS image vs. Proxmox vs. HA Supervised on Debian
Hass.io manual installation in virtual environment on Raspberry Pi
Rebuild needed - hardware advice please - HP N54L to Rasp Pi?
Home Assistant Supervised (previously known as Hass.io) on Synology DSM as native package (not supported or working atm)
New User... what do I need?
Power outage.. Oh oh
Best way to install Home Assistant with linux desktop and proxmox(?)
Which way to go - NUC - Home Assistant
Am I over-complicating things?
Can not login to HA after power lost
NUC install: HA OS image vs. Proxmox vs. HA Supervised on Debian
Best way to install on a NUC
Why is it so complex and difficult to install and maintain HomeAssistant?
Energy Management in Home Assistant
Home Assistant OS install on old laptop
Installing Home Assistant Supervised on Debian 11
New to HASS, question about initial setup
HELP Some NEWBEE basic questions regarding ZWave inclusion of older devices and USB passthough
Installing Home Assistant Supervised on Debian 11
Can you recommend an install option for me and my ubuntu NVR?
Disable DNS IPv6 requests
Issue IP Hassos on Proxmox - Guest Agent not running
Failed to start wait until kernel time synchronized home assistant
GitHub is blocked / HACS
PC main board and CPU advice
What the best
Trouble installing Hassos on proxmox with whiskerz007 script
Node Red not opening in HA GUI
Hacs Error Help Needed When Restoring Full Snapshot
Installation Of Home Assistant OS over Ubuntu HELP
Installing Home Assistant on NUC using image
Should I reuse Home Assistant
Best hardware combination for HA?
New Supervised installation failed to run HA
To Proxmox or not to Proxmox
Installing HA on HP EliteDesk 800 G1 with ProxMox
Noob question about front end issues
Hassio folder proxmox installation location
Using a single automation for multiple devices
Problem instaling hassio supervised on Ubuntu & Intel NUC
Home Assistant runing on Proxmox not detecting second drive
Installing Home Assistant Supervised on Debian 11
Installing (deprecated) hassio on Ubuntu 18.04
Can't get HA running on VM (Proxmox)
Installation Of Home Assistant OS over Ubuntu HELP
Finally upgraded home assistant. now everything is broken

With the renaming recently, shouldn’t the title read “Installing Home Assistant Supervised on Proxmox”?

No, this installation uses the full Home Assistant image. First option in this list.

1 Like

Sorry! Last time I played with that script I think he had both options…

I should have looked. :slight_smile:

2 Likes

This guide could not have come at a better time :slight_smile:

I literally just finished putting together an old PC with Proxmox in it trying to transfer my legacy raspberry pi home assistant over to a VM. Mostly due to instability of microSD card and my lack of backups. I recently had a crash and lost a lot of work. Looking to hopefully automate some backups and ability to easily go back if an update breaks my HA.

Having said that, HA has changed quite a bit the past 3 years… I am using Hassbian 0.76.2, anyone have an idea how easily I can transfer to a version that is more stable or easily managed by Proxmox? Is Hassbian = HA Core?

1 Like

The only thing I could suggest is to start with the default config files of the latest version of HA, take a backup of all of them, and slowly copy your files over 1 at a time, like automation.yaml, script.yaml etc, reboot, and correct any breaking changes. It will be a slow process.

Check your configuration.yaml file against the latest and make the necessary changes you can see.

Someone else may have a better solution.

Basically, yes. Hassbian was just a version of Debian/Raspbian with HA configured to run in a venv, more or less.

1 Like

Thanks Kanga_who

So your recommendation based on your post is going full Home Assistant install with HassOS correct? It looks like it has full roll back and all. I don’t have a powerful PC running Proxmox so I was planning on using Ubuntu running containers to maximize my VMs :stuck_out_tongue:

I was planning on Ubuntu server with HA docker prior to seeing your post. Need to save some cores and ram for plex.

I would recommend going full Home Assitant and run it as an “appliance” within a VM. You can always run up other VM’s on ProxMox if you want to do other things. Home Assistant will run very happily with one CPU core and 1GB RAM if you are resource limited. Home Assistant will use as much RAM as you through at it, up until about 4GB though, but it doesn’t really make a huge difference in speed above 2GB.
Giving HA more than one core doesnt make any difference unless you are running add-ons that are CPU intensive like [email protected] or Plex and doing a lot of decoding.
I understand people have their preferences, this is just my opinion :slight_smile: .
I’ve used Whiskerz007 script a few times and it is really simple once you have ProxMox running. It makes it a lot easier than running OpenBox, and you don’t have the Windows host chewing resources.

2 Likes

I’ve recently switched from a Supervised install on my main machine (Dell Optiplex 990), to Proxmox running 3 VM’s - 1x Home Assistant and 2x Ubuntu 18.04 VM’s, one running Plex, MQTT, OVPN, Portainer, etc and the other running only Shinobi for CCTV recording.

The machine has an old i5 2400, and 16gb RAM (recently updated and ran well on 8gb). I give each VM 2 cores and 4gb RAM. Runs very well, so you don’t need an amazing machine to do lots of work. HA runs without issue on 2gb of RAM, and I’ve found that Plex rarely uses over 2gb as well.

I’ve also got my test machine a Dell USFF 780 with a dual core and 4gb RAM set up using Proxmox with 1x HA VM and 1x Ubuntu VM, also runs perfectly well.

The current state of where the Supervised install is going to end up seems to me that it won’t be worth using (and I think that is kinda the plan), so I think the Proxmox route is a good one.

Even if you have limited resources, you can allocate cores to more than one machine.

Example: If you have a 4th Gen Corei5 (like I currently do) you can allocate cores to machines, as long as the CPU load isnt high even up to 3:1 is acceptable. My Machine does have 24GB RAM in it.
I currently have the following:
HA 1 Core and 2GB RAM
OMV 2 cores and 8GB RAM
Motion Eye: 4 Cores 12GB RAM (Runs 6x5MP Cameras, 24/7 recording at low res, Motion Detection at high res).
Plex: 2 cores 2GB RAM (Doesnt do a lot of decoding, mianly direct streaming)

The Core i5 4th gen processor is a 4 core processor with no hyperthreading, so 4 vCPU’s, but as you see I actually have it split into 9 allocated vCPU’s. I can do this as, apart from MotionEye, the other VM’s all have low CPU usage with only the odd spike.
ProxMox will allocate resources according to load, with time sharing if the host is completely 100% utilised. Unless you run all VM’s at 100% resource utilisation, you wont have issues with a setup like I have.

1 Like

Awesome, sounds like Proxmox can really load balance very well. I’m going to give it a go maybe tomorrow night as see how it goes. Worst case I can always delete and start over again :slight_smile:

Nice, I’ve heard great things about Proxmox, hence I wanted to give it a try. Thanks for breaking it down for me. First time I’m setting up my own virtual environments. I’ve dabbed into VirtualBox a bit and managed servers but never set one up from the ground up.

I have a NAS running Plex and lately it’s had some issues with decoding. It’s not running a powerful processor and I watched it hit peak 99% numerous times during the 1 stream of H.265 to my TV and it was choppy. So I figured maybe through it in a PC and see if it’s better.

I have an old Core i7 3rd gen with 16GB of ram laying around that I was going to use for video editing for my drone videos… Since my HA broke down, I decided to put Proxmox in it to see if I can get more out of it. I may eventually switch to a NUC core i5 later on if I can save some money for it. I like how small the NUC is and how much power you get out of it.

1 Like

That is ample for anything HA related, plus Plex and an NVR/CCTV. This is mine currently with everything running as noted above. (My wife is currently watching Columbo on Plex a well :man_facepalming:)

haha nice :joy:

Question, I just ran the whizkers script, took like 2 mins. Can I configure the Z-Wave USB stick later? Just run the install and let it go? 1. It’s late here and I’m heading to bed. 2. I need to power down the pi and well then my lights don’t work. 3. I need to run to the basement lol

Yep. Just shutdown the system, plug in the Z-wave stick, then start up. It should show in the list after the reboot.

The great thing about i7 over an i5 is hyperthreading. That means ProxMox will see it as 8vCPUs so plenty of power for what it seems like you want to do.

ProxMox has USB passthrough. Just set that up in your VM. I use a Conbee II and a ZwaveMe USB stick and I pass both through with zero issues. You can either passthrough the device or actually pass through the entire USB port. I do port passthrough as those two devices are only used by HA, but both methods work flawlessly. If you do it later, you just stop the VM (shutdown the OS in Home Assistant) and passthrough the USB to the VM when needed.
As a note, I started on a Raspberry Pi 3 and migrated to the VM using a HA snapshot and it needed nothing to be reconfigured to detect the passed through USB devices. It just worked. DeConz using the HA add-on and Zwave setup via integration not yaml.

Oops. That was meant to be for @swiftvic

Thanks for the guide, I got it running!

A thing to mention: I needed to run apt update before apt-get install sudo

2 Likes

Is it possible to install MQTT following your other guides on the same VM as HA, or do I need to create a separate one for that?

Script works great… I need to copy my backup over but the base OS seems really stripped down. No apt for installing sshd. Am I missing something?

1 Like

I would install a Debian or Ubuntu VM to run any software, not on the Proxmox OS.

1 Like