Installing Home Assistant Supervised on Ubuntu 18.04.4

I run the script and it seems to only install 0.110 and I’m trying to upgrade to 0.112
Any idea if the script can be updated to install the latest version? (The built in Upgrade option in the Supervisor panel doesn’t upgrade the system for me.)

I just did a fresh install using these instructions to test and got 0.112.4, so they work as they should.

Have you restored a snapshot perhaps from 0.110.x?

Will this guide will also work on Ubuntu 20.04 LTS?

It will, but there may be some compatibility issues. I found when I tried in a month or so back that Docker-ce wasn’t added to the repos, and I had to use Docker-io which I’ve been told by Frenck causes problems.

So use 20.04 at you at your own risk - there is no real need to and Debian 10 is the recommended OS.

Just wanted to use the newest version of the most common Linux distribution. That’s Ubuntu 20.04.

Doesn’t know if it makes sense to start with an older than the current version of the os.

It is, but as widely commented on, it will not be a supported OS by HA. Debian 10 is, and will be the only OS officially supported.

There is also no real reason to use 20.04 unless there is something very specific that it has that 18.04 doesn’t have that you need. 18.04.x will receive major updates for another 3 years and then still get security updates till 2028.

Thanks Jason @kanga_who for this guide and script.

I just encountered an issue during installation, relevant for ubuntu, and I thought to share it maybe will help somebody as well…
If you’re installing ubuntu with lvm, the logical volume might not be resized after the installation done (it happened to me, not sure if this is the expected behavior).

As a result, the HA Supervised gets stuck because of not enough disk space. (stuck at “Preparing hass.io this can take up to 20 minutes”

One must check using the sudo vgdisplay and sudo lvdisplay if there is unallocated disk to the logical volume.
Then extend the lv and resize:

sudo lvextend -l 9999 /dev/ubuntu-vg/ubuntu-lg
sudo resize2fs /dev/ubuntu/vg/ubuntu-lv

Where 9999 is by how much to increase in block size.

There is also no real reason to use 20.04 unless there is something very specific that it has that 18.04 doesn’t have that you need.

I may be confused at the point of the “Supervised” install, but I would say the whole reason to use it is the same reason to use 20.04 with it - it’s installed on an existing Linux OS that will be used for other things - ie those other things ARE the reason. Either way it violates the “supported” spec, so who cares?

It seems you (and a few others?) are really concerned about those being “officially supported” installs but what does that really mean for an open source project anyway? Sure, if someone uses anything other than the full OS install they may have issues, but it’s not like there is some SLA contract just because you claim that you followed the rules… it’s still completely up to some volunteers to help or not.

Of course, I realize I am basically just calling out your implied point, which is to get people to arrive at the conclusion that the “Home Assistant Supervised” is utterly useless from a “supported install” point of view if the OS basically has to match the full OS install :wink:

Anyway - your installation guides have been extremely helpful (to me and it sounds like to many others) - I would worry less about the “officially supported” part and more on the great community support part you have helped build. I’m guessing this will be a useful option for many people even if it requires the occasional bit of tweaking and forum questions!

That said: I have a fully working 20.04 server setup going on the latest i5 NUC - I had to change a few things related to systemd & DNS and install NetworkManager (which I should help document here) - but so far so good!

removing this was the only way I could get my Conbee 2 Zigbee stick to work (on Ubuntu 18.04.4)… so installing it is certainly something only some people will want to do.

Are you able to install and use HA Supervised without NetworkManager at all? It’s called out as an explicit dependency, though it would be great if it is not in fact one…

It’s been a while since I did it but as far as I know, I don’t have NetworkManager anymore on my system, and it works perfectly.

Someone who has an old PC laying about might want a simple install to just run Home Assistant. Supervised is perfect for that - no hardware investment and up and running with the Supervisor and Add-ons in well under an hour, so your point is not entirely accurate.

A new user who may wish to get support from the HA team on Github or Discord.

That’s not what I am implying at all. I am directing people to use my other guide/s for Debain and Proxmox as these are supported installation methods. If you wish to use Ubuntu and support yourself, there is nothing wrong with that, and this guide helps you with the install. For a new user though, this is not the best approach.

I’m glad you have found it useful and thanks for the feedback.

1 Like

Do you remember what you did? I tried to install HA Supervised too and everything worked great except DNS. Couldn’t figure out what to do.

@kanga_who: Thanks for the clarification, sorry if I was misinterpreting anything :slight_smile:

@krisjanis2000: To clarify - are you having a general Ubuntu 20.04 DNS setup issue, or something with HA Supervised internal DNS setup?

I wish I had documented it better when I did it, but poking through my command history… it basically revolves around systemd.resolved & the whole local caching DNS setup in Ubuntu 20.04 server is kind of a complicated mess and wasn’t working for me at first. Basically DNS uses a local server @ 127.0.0.53 as a cache, which then is supposed to use the DHCP configured server.

Try “nslookup HOSTNAME” and see what server it uses (and see if DNS worked). Then try “nslookup HOSTNAME REALDNS_IP”

In the end I tried a few things, including effectively disabling the systemd.resolved proxy by mesing with some configs and symlinking /etc/resolv.conf from /run/systemd/resolve/resolv.conf instead of resolv-stub.conf. Then I installed network-manager (which the docs say is highly recommended for HA Supervised) - and disabled the ModemManager and wpa_supplicant services since I am using Ethernet.

But: I now see after updating the OS and rebooting the device the symlink I changed is reverted and the proxy is being used again! (I assume some package update overwoite my changes, oh well). And of course it’s now all working fine… so I’m not sure how helpful all of the above is, but maybe something can point you in the right direction.

Hmm - one more possibility is I also added an internal domain name on my router’s DNS so clients would get it via DHCP. I think there was some issue with search path but can’t say for sure (in case your issue is DNS resolution of other local machines on your network).

Thank you very much for your detailed explanation. Sounds similar to my issue. I will try to follow the ideas you provided. To make sure, I have the same issue - when trying to ping a website, did you notice an error like this: “ping: google.com: Temporary failure in name resolution”?

I don’t think it was ever completely broken for me - just seemed inconsistent, like the caching wasn’t working, some hosts resolved and some didn’t.

As a quick sanity check, can you change /etc/resolv.conf (either change symlink to a different file, or just edit it… it’s a symlink for me right now):

ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 37 Jul  4 23:50 /etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf

Inside it will look like:

nameserver 127.0.0.53
options edns0
search your.domain.if.specified

I think there should also be a file: /run/systemd/resolve/resolv.conf that has your “real” DNS IP (form DHCP, etc) in it [note 192.168.13.1 is just my router’s IP, probably different for you]:

nameserver 192.168.13.1
search your.domain.if.specified

So, this will link to the one that doesn’t use systemd.resolv proxy:

sudo rm /etc/resolv.conf && sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

(alternatively edit the existing one and add something like “nameserver 8.8.8.8” before the other nameserver line, just for testing…)

If everything now works, it’s definitely systemd.resolv related.

Being that this guide is discussing 18.04, perhaps starting a new thread on 20.04 would be a good idea to discuss the issues with that version.

Kanga_who’s topic describes how to install Home Assistant Supervised. Your link describes how to install Home Assistant Core in a python virtual environment. It’s a completely different topic and belongs in a separate Community Guides page.

I’ve removed the offending post.

Hi, nice tutorial fully working over here!

One question, how to update?

sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove –y

Is this enough?