Disclosure: Some of the links on this site are affiliate links. This means that, at zero cost to you, I will earn an affiliate commission if you click through the link and finalize a purchase.

Which Installation Method is Best for Home Assistant?

With so many different options for installing Home Assistant it is no surprise that there is so much confusion!

On this site alone there are a whole bunch of articles explaining different installation methods.

To further add to the confusion, tutorials become outdated fairly quickly due to the speed in which the Home Assistant development progresses.

This means that the internet is littered with Home Assistant installation tutorials that are only partially useful or broken. I hold my hands up. I am guilty of this myself!

In order to clear up the confusion I have created this article, which will lead you to the best method of installing Home Assistant.

By the end of this article you will have a solid understanding of the three key components that make up a Home Assistant, which will help you decide which is the best method of installation for you and your chosen system.

Once you have decided the best installation method for your system, you can follow a link to the relevant step-by-step guide, which will walk you through the process of getting Home Assistant installed and running.

Newcomers should take the time to read the whole guide and familiarize themselves with the key Home Assistant components.

Those looking for quicker answers will be interested in the following summary:

The Best Home Assistant Installation Methods

For those looking to jump straight into the best method of installing Home Assistant, choose the option that best describes your requirement:

Home Assistant Installation: What You Need to Know

Before diving into the various Home Assistant installation methods it is important to understand some of the basic fundamentals of how Home Assistant works.

You may have already come across some of the technical jargon, such as Home Assistant Core or Home Assistant Supervisor. These are the two main components of the Home Assistant system.

What is the Home Assistant Core?

The Home Assistant Core is the main Home Assistant program that performs all of the Core tasks. In short the Home Assistant Core is Home Assistant.

It is written in the Python programming language and can be run on many different systems thanks to a clever little tool called Docker.

Docker is an application that allows programs to be run from within a container. Docker can be installed on Windows, macOS and Linux operating systems, therefore it can be used to run the Home Assistant Core on any of these systems.

In short we simply need to install Docker on the operating system of our choice and then use it to run the Home Assistant Core container.

There is however one small problem with doing this.

Running the Home Assistant Core by itself omits the other fundamental component of Home Assistant, the Supervisor.

What is the Home Assistant Supervisor?

The Home Assistant Supervisor is an additional application that supervises the Home Assistant Core.

It performs many useful tasks, such as making sure all of the Home Assistant Core components are kept up to date and automatically rectifying any issues that the Home Assistant Core program might encounter.

It also performs another very important task. It manages the Home Assistant add-on programs, which run in their own separate Docker containers and are not part of the Home Assistant Core container.

Although Home Assistant add-ons are optional, it is almost impossible to run Home Assistant without requiring at least one add-on. At the very least you are going to want to install the File Editor add-on.

This means that for all but the most advanced Linux users, the Home Assistant Supervisor is essential.

But this is certainly a good thing because it immediately helps us narrow down the best options for installing Home Assistant.

For mostly all people mostly all of the time, you are going to want to install Home Assistant Supervised, which will require us to use one of the supervised Home Assistant methods.

On a final note about the supervisor, you may come across it being referred to as Hass.IO or Hassio. Both of these names are legacy and no longer used, they have been replaced by the name Supervisor.

However it is useful to know as you may still come across these terms in older articles of forum posts. In this case you will know that they are referring to the supervisor.

What is the Home Assistant OS?

The third and final key component of Home Assistant is the Home Assistant Operating System, which we will refer to as the Home Assistant OS.

The Home Assistant OS is actually an operating system in its own right, much like Windows or macOS. It is based on the Debian Linux operating system, only it excludes everything not necessary for running Home Assistant including the graphical user interface (GUI).

This means that it has no pretty windows, menus or mouse cursor. It is a bare-bones operating system with only a command line, much like the type of operating systems that run on servers in big data centers.

The reason that the Home Assistant OS does not need a GUI is because the graphical elements are instead accessed remotely by a web browser.

Your web browser (or the Home Assistant mobile app) actually generates all of the necessary graphical elements, like the dashboard and menus. Home Assistant simply delivers the code and the data to the browser necessary for generating the graphics.

The Home Assistant Dashboard
The Home Assistant Dashboard

So why do we need a Home Assistant OS?

The purpose of the Home Assistant OS is to bundle the Home Assistant Core and Supervisor together in a neat little package, which contains everything required to run Home Assistant.

As the Home Assistant OS contains only what is necessary for running Home Assistant, it is very lightweight. This means it can be run on both full size systems and much smaller systems with fewer resources, such as the Raspberry Pi single-board computer.

On a final note about the Home Assistant OS, you may also hear it referred to has HassOS. Both of these names are legacy and no longer used, they have been replaced by the name Home Assistant OS.

However it is useful to know as you may still come across these terms in older articles of forum posts. In this case you will know that they are referring to the Home Assistant OS.

Which Operating Systems Support Home Assistant?

There are two operating systems that officially support a fully supervised Home Assistant installation:

In the previous section we discussed the Home Assistant OS, therefore we already know that Home Assistant can be run on its own custom operating system, Home Assistant OS.

The only other operating system that officially supports a fully supervised Home Assistant installation is Debian Linux.

Debian Linux is a well-known and popular flavour of the Linux operating system and it is used throughout the world to power all sorts of systems.

Debian can be used as a desktop operating system, much the same as Windows or macOS. However it is also possible to install Debian Linux without the graphical elements, which is ideal for running Home Assistant.

At this stage you might be wondering where Windows and macOS come in to this, two of the most popular desktop operating systems in the world.

You can’t actually run Home Assistant Supervised natively on Windows or macOS. Yep, you heard that right!

However there is a solution! There are a number of different ways that we can create a “virtual machine” on the Windows or macOS operating system.

We can then use this virtual machine to run either of the two supported operating systems mentioned above. More on virtual machines later.

What is the Best Hardware to Use for Running Home Assistant?

Now that we have covered all of the core components of Home Assistant and we have an understand of the software requirements, we need to understand which hardware to use.

You may have already decided on the hardware you wish to use, in which case you can skip this step.

If you are still unsure on which hardware to use, the following information will help you decide:

Hardware for Home Assistant newcomers

If you are a complete newcomer to Home Assistant and you are looking for the easiest and most hassle-free experience, my advice would be to follow the recommended method of running Home Assistant OS on Raspberry Pi.

This is the easiest way to run Home Assistant and the quickest installation method. It does however require that you purchase a Raspberry Pi single-board computer. If you want to go this route, you can check the latest prices here.

You can skip straight to the installation guide for this method by checking out this article.

The only instance whereby I might not recommend Raspberry Pi to a newcomer is when they know they will require more horsepower.

For example if you know you want to manage an IP camera network or work with video in general, it might be better to consider using a full-sized computer. In this case, check out this section.

It is also worth mentioning that at the time of writing it is notoriously difficult to get a Raspberry Pi due to the chip shortage, and as a result the prices of Raspberry Pi have been dramatically elevated.

This means that running Home Assistant on Raspberry Pi might be prohibited by cost. In this case I would recommend running Home Assistant on full-sized computer, as detailed in this section.

This can be a very cost effective way to run Home Assistant, especially if you have an old computer lying around that you want to repurpose. Any computer from the last 10 years will be more than enough to run Home Assistant.

I want to build a dedicated Home Assistant server

The “pro” option for a Home Assistant installation is to install a dedicated computer that is tasked only with running Home Assistant.

This is a similar idea to using a single-board computer in that you will be running Home Assistant on hardware that does not have a desktop graphical user interface.

In most cases you will be installing the computer in some hidden location and will be using it without a keyboard, mouse or screen.

This is a common solution for those who have reached the limits of a single-board computer like the Raspberry Pi. For example when you start managing video from a surveillance system with Home Assistant, likely you will need the extra horsepower.

Note that this type of installation differs from running Home Assistant on your desktop computer. By that I mean running Home Assistant on your Windows or macOS desktop.

A dedicated Home Assistant server will be running Home Assistant OS or Debian directly.

This is probably the most challenging method for a Home Assistant installation and if you don’t feel confident working from a command line, you may want to consider first running Home Assistant within Windows or macOS.

I want to run Home Assistant on my desktop PC or Mac

It is possible to run Home Assistant right from you Windows or macOS desktop by using a virtual machine.

This type of installation is ideal for those who just want to try out Home Assistant on their desktop computer before committing to investing in dedicated hardware.

It is also ideal for those who wish to run Home Assistant on a dedicated PC or Mac, but who want to manage the installation from Windows or macOS.

This has the added benefit of being able to run other programs on the computer that are native to it’s operating system.

You can of course choose any Windows or Mac computer for this type of installation. You can test Home Assistant on your currently daily computer or repurpose an old machine.

You can still hide the machine away if you prefer and operate it remotely without a screen, keyboard or mouse using a free program like TightVNC.

Which Home Assistant Installation Method is Right for Me?

At this stage you should have a pretty good understand of the three primary components that make up a Home Assistant installation and the different hardware options available.

With this information we can narrow down the best methods of installation. We have already established that a Home Assistant Supervised installation is necessary for mostly all Home Assistant users, mostly all of the time.

This means that we will only be considering installation methods that yield a Home Assistant Supervised installation, which will include the add-ons store for managing add-ons.

We have also established that in order to run Home Assistant Supervised, we will need to use either Home Assistant OS or Debian Linux to run the installation.

With that in mind, you should now be able to select one of the following three categories:

I want to run Home Assistant on a single-board computer, such as the Raspberry Pi

If you want to run Home Assistant on a single-board computer then the two best choices are either the Raspberry Pi or Home Assistant Yellow.

The Home Assistant Yellow is basically an extension of the Raspberry Pi and contains the additional hardware required for your smart home, for example it has a built-in Zigbee radio.

You can still add the capability to a Raspberry Pi simply by purchasing the additional modules, such as this Sonoff USB Zigbee radio.

Both devices offer the same simplicity when it comes to installing Home Assistant supervised. You can get further details on Home Assistant Yellow, including installation instructions, here on the official site.

If you want to install Home Assistant Supervised on the Raspberry Pi, I have a detailed step by step guide available here:

I want to run Home Assistant on my Computer using Windows or macOS

You can run Home Assistant Supervised on your Mac or Windows PC directly on the Desktop, as if it were just another application. In order to do this you will need to create a virtual machine that can run either of the compatible Home Assistant operating systems.

There are several different free applications that can be used to create a virtual machine for running Home Assistant:

Installing Home Assistant on Windows

If you want to run Home Assistant on Windows then I would recommend using VirtualBox to create a virtual machine. You can download VirtualBox for free from the official website.

You can learn how to download VirtualBox and the necessary dependencies, as well as create a new virtual machine in order to run Home Assistant OS in this guide.

Installing Home Assistant on macOS

If you want to run Home Assistant on macOS then I would recommend using UTM to create a virtual machine.

It is free to download and you can follow my complete step-by-step guide that will walk you through the process.

I want to run Home Assistant on a dedicated computer, without Windows or macOS

If you want to build a dedicated server, that is a computer whose sole task is to run Home Assistant, you would be best installing Debian directly on the machine.

As one of the supported operating systems, Debian can run Home Assistant directly whilst offering a wider range of system tools for managing the system compared with the Home Assistant OS.

So long as you are using a machine with X86 architecture (Intel/AMD processors), for example a PC, Intel Mac or NUC, you will be able to install Debian directly.

This method will give you the best performance and is ideally suited to those who wish to run systems that have more demands, such as surveillance or facial recognition.

To learn how to install Debian and Home Assistant Supervised directly on a machine of your choosing, check out this tutorial.

Conclusion

There are a whole bunch of ways that we can install Home Assistant, however with a little understanding it is quite easy to narrow the options down.

Home Assistant Supervised is the best installation method for mostly all people, mostly all of the time. With this in mind it we can narrow the installation methods down to one of three options:

Hopefully you are now ready to get started! Don’t forget to check out some of my other Home Assistant tutorials whilst you are here.

Thanks so much for visiting my site! If this article helped you achieve your goal and you want to say thanks, you can now support my work by buying me a coffee. I promise I won't spend it on beer instead... 😏

Leave a Comment

Your email address will not be published. Required fields are marked *


Scroll to Top