Installing on Ubuntu 18.04

I recently set up a new Home Assistant installation at another location. It had been a while since I had gone through this process, so I spent an embarrassing amount of time re-researching it. To avoid that in the future, here’s how I did it.


You probably already have most of this but you’ll need a decent router and a computer or raspberry pi.

The hardware doesn’t matter very much because simple installations will run fine on something as small as a Raspberry Pi. But a lot of people like to use Intel NUC’s. Nearly anything  will work. In this case I’m installing Ubuntu on an old Supermicro Atom 1u server with a small 32GB SSD. It uses very little power and fits nicely in a pre-existing rack. It’s not exactly an enormous leap over a raspberry pi 3, but it does have more stable storage than the Pi’s SD card.

Start with a clean install of Ubuntu (18.04 in this case)

I won’t go into detail how to this here. There are many guides out there already. I did a clean install of Ubuntu 18.04 using an USB stick – it only took a few minutes. A clean install definately isn’t required.

Set up the environment

Everything else will be done through the terminal or SSH. If you don’t know what those are it’s probably a good idea to stop here and do some research. Paste each line, hit enter, and say “Y” to any prompts. It’s best to do each line individually so you can correct any issues between steps. These commands will give you root access, update your components, and install required components.

Install Docker CE

Docker lets us run different things in their own containers. This increases security, stability, and reliability.

First we need to add a new repository so Ubuntu knows where to get Docker. Paste the following lines and press enter.

With that done, we can install Docker using these commands:


With all the prerequisites in place, we can now install with this command:

Or, if your hardware is an Intel NUC you can use this command instead (don’t do both!):

That’s it, now you have a working installation of But wait! There’s more!

Install Portainer

***UPDATE: This step is optional and probably unnecessary as there is now a Portainer addon within Hassio that automates the installation and set up of Portainer.

Portainer is a nifty web interface that lets you manage your docker containers. This is useful because resides in a docker container. Each add-on also resides in its own docker container. So you might end up with 3 – 10 containers (or more) depending on your setup. Portainer makes it easy to manage them. Install it by entering:

Final Steps

You’ll need to know the IP address of the computer that’s running To find the IP address enter this command:

Note that you’ll be accessing Home Assistant and Portainer by going to this address.  So it’s important that this is a static ip – otherwise the address will periodically change and you’ll have a harder time accessing Home Assistant. There are a number of ways to make the ip address static. I prefer to do it at the router level, but that’s another topic for another day.

Using is as easy as visiting a web page. For Home Assistant it is:

and Portainer is:

Note that the x’s should be replaced with your device’s IP address. These will also change if you enable SSL or change the ports.

The first time you start Home Assistant it will have you set up a username and password. It will also go through an automatic configuration process. Be patient with that step because it could take 2 – 20 minutes depending on your hardware.

That’s it! Now you can start customizing and enjoying Home Assistant!

You may also like...

Leave a Reply

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