Docker + HA + Addons - HASSIO Supervisor

I installed Ubuntu 18 on an ODROID N2 (aarch64). I have Docker installed and working. I can run home-assistant container and it works fine. I have Portainer container running. I have tasmoadmin container running.

I can run HASSIO supervisor and it works. Does make me a little nervous the whole “not supported” thing. But I get it.

What I would like to do is see if I can run this without the supervisor. It seems as though all the addons are based on the supervisor now so I am having trouble figuring out how to run them without it.

I have a running setup with HASSOS on an ODROID XU4 but it is very underpowered. I can see all the container information for each of the addons but still can’t seem to get them to run manually.

Ones I would really like to figure out are: configurator (file editor), DuckDNS and the Google Backup.

If anyone has information on running those manually can you please share? Or links to how or where to find non-supervisor versions?

Bottom line: I can run HASSIO supervisor and do it the easy way but I want to learn how all this works and get better at Docker. If you can’t run them without the supervisor then I’ll have to go that route.

Thank you!

I have been running HA the way you described for 2 years now.
Not HASSIO (HA+Supervisor) but simply HA in docker.
I install my own dockers and I manage them.
It works very well.
Happy to share my docker compose file for those containers if that’s how you’d like to proceed.

@juan11perez - yes, please. I have found a few on GIT but don’t have the ones in particular I’m looking for.

Currently, docker-compose doesn’t support aarch64 but I can use that to put together a manual docker run command.

The ODROID N2 is just temporary at the moment. I have an Intel NUC coming from eBay that will become the permanent home for my Home Assistant setup.

If anyone else has docker compose files they would be willing to share, that would be a big help. I will share what I get working as well.

Thanks!

ok. a quick search produced a repo for a compatible docker-compose file. see below


seems pretty straight forward. download the directory move into the directory and run the commands to build your own docker compose.

see below hastebin link to my docker-compose.yaml which includes dockers I currently use and have used in the past

I run Unraid, so your volume mounting points will differ.

my suggestion is install ubuntu server, install docker engine, give the docker -compose repo a go and pick from my yaml.

https://hastebin.com/akoyucezis.coffeescript

let me know how you get on

1 Like

@juan11perez - in your docker-compose, you run a bunch of the containers as a userid 99 in groupid 100. Who is that? Is that a user you created and granted certain permissions?

i run these in unraid. this is the user unraid uses for containers.
in your case you need to run the command userid and that will give you your numbers

@juan11perez Thanks for providing your docker-compose file. It’s a great set of examples.

Like the OP, I installed HA via docker. A couple of places, the docs mention “addons are not supported except with the HassOS install method, but you can do it manually”. Those places don’t say how to do it manually. I was imagining it was by running the addons as docker containers and stitching them together, but I haven’t found any explicit documentation of that so far. Your info and examples show me what I need. It would be soooo handy if the HA docs gave at least a hint of what’s needed for “manually”.

Thanks again.

I couldn’t find that quote in the documentation. What I did find is this:

the software from the add-ons may still usually be installed manually like any other program.

What that is saying is the software from the Node-Red Add-on can be installed manually. You can install Node-Red manually either as a Docker container or as an npm module.

Add-ons are curated applications that are packaged as customized docker containers (customized for use with the Supervisor container that comes with Home Assistant or Home Assistant Supervised).

So if you install Home Assistant or Home Assistant Supervised and want Node-Red, the easiest way is via the Node-Red Add-on. However, if you install Home Assistant Container and want Node-Red then you install the uncustomized, general release of Node-Red as a docker container or as an npm module.

Sorry, my quoted phrase was really just a paraphrase from memory. What I was looking at was this page: https://www.home-assistant.io/addons/, which says:

Add-ons are only available if you’ve used the Home Assistant installer. If you installed Home Assistant using any other method then you cannot use add-ons (but you can achieve the same result manually).

So, if I want to install the “Configurator” file editor manually, I’m left wondering if I really know what I’m supposed to do. Maybe if I’m the only one wondering, I’m just being dense. It wouldn’t be the first time.

Thanks for the clarifying info you provided.

The “File editor Add-on” is the Ace editor, which is an “embeddable code editor written in JavaScript”. It runs as a web app which means the Add-on contains the Ace editor hosted on a web server. All of this was put together by Frenck (i.e. he made a docker container with a web-server and the Ace editor and then customized it to work with the Add-on ecosystem).

I googled “Ace editor docker” and got some hits but I can’t attest to the usefulness of the results. Let’s just say that you picked an Add-on that isn’t commonly found as a general-release docker container (like Node-Red, mosquitto, Samba, etc).

Almost every add on is found as a docker, which you can install yourself.
If you want a webserved editor try cloud9, which I use.
The doctor compose is in my file.

Update on what I’ve been working on…

I finally got an IntelNUC (NUC5i7RYH) on eBay so have gone to that running Ubuntu 20.04.

@juan11perez, I’ve been going through your docker file. So much more available than I ever thought!

I haven’t created my own docker-compose yet - I’ve just been doing docker run commands for now as I sort this all out and figure out what I want to run.

I have home-assistant running using mysql (mariadb). I have (had) a bunch of addons working and added them to the left-hand panel_iframe. It was all working well.

Then I switched off the old HASSOS system and moved to using the IntelNUC. When I changed the configuration to use my SSL certificate and domain then I lost my addons. HA works fine internally and externally. I even copied over the lovelace config and pointed all the devices and HA to the new MQTT container. But when I click on the icons for any of the addons I get nothing. Doesn’t even try and load them. I can only access HA via HTTPS now so I have a hunch that is the culprit. Event if I just try to access via the local hostname the addons won’t load. They do load independently via the local hostname and their listening ports but not via HA.

Is there something I need to do differently for the addons to work via HTTPS? They were working before when I was accessing using local address and HTTP.

Thanks!

sorry cant help with what’s now “Home Assistant”. I dont use that.
I run straight Home Assistant Container. The docker in my docker-compose substitute alll the addons.

I suspect that to see them externally (via https) you need to modify the addon configuration in HA to include a path to the certificate etc.

Right, that’s where I’m at. I’m running just the home-assistant container plus all the addons are independently run as containers as well with their ports exposed.

I added lines to the configuration.yaml to have icons show up in HA:

panel_iframe:
  configurator:
    title: 'Configurator'
    url: 'http://10.170.0.53:3218'
    icon: mdi:wrench-outline
  portainer:
    title: 'Portainer'
    url: 'http://10.170.0.53:9000'
    icon: mdi:docker

I tried changing them to https:// urls but then I actually get sad face icon (Chrome) that says bad response since they don’t actually support SSL.

I’ll keep messing with it. Worst case scenario I could always run the supervisor container then I can do the addons that way.

Not a bug, but something to consider. If you run HA under https:// , all iframes need to be https:// . So you need to make sure your other containers support https too. You can always install nginx to force them.

@francisp, funny you should mention that. I was reading about people using nginx (prior to the Let’s Encrypt addon I presume but maybe not).

I also found this error in my browser which corroborates your response:

Mixed Content: The page at ‘https://somewhere.duckdns.org:8443/portainer’ was loaded over HTTPS, but requested an insecure frame ‘http://10.170.0.53:9000/’. This request has been blocked; the content must be served over HTTPS.

I’ll have to figure out if they can be accessed via https.

…and/or figure out how to use nginx instead (which might be easier than trying to track down all the containers)

I got it working using something I already had: the Let’s Encrypt container.

I followed @juan11perez setup guide at: Nginx Referse Proxy Setup Up Guide - Docker

It required setting up the use of subdomains instead of folders. Works like a charm now.

Thank you!

1 Like

Thank you for sharing this detail. Helps cut through the confusion.

1 Like

WOW a very long list for a docker compose. A complete set… I did use some mixed and docker and its also work. Currently running synology and RPI, but it should not be too far from ubuntu either. Maybe time for me to create a helping guide.

2 Likes