Again, Home Assistant Core and addons

Hi everyone.
Last week i spent in google search results to find a lot if information for my first production HA installation.
I made a simple device with 4 core old atom pc and 4GB memory. I suppose it will be enough for beginning.

I had been already read about different installation methods and what exactly addon is. Also i understand why addons are not accessible in core installation. (this link, and many others).
I understand, that addon is just a software installation script, default configuration for a software and some code for a HA.

But! Is there any information about what exactly user with Home Assistant Core have to do to install FileEditor, for example, VSCode, node-red, alsa or pulseaudio, or something else ?

What i expect to see in my way:

  1. Install sofware and make sure its accessible via smth (socket, shell command etc)
  2. Config software to allow HA use it (if needed)
  3. Make HA configuration changes:
  • download these files and put here (if needed)
  • change DB structure (if needed)
  • put these lines in configuration.yml or another config
    … etc

I know, a lot of users may say to use docker or entire OS. But i dont wanna do it. Supervised version is not so cool for me too.

  1. Yes, i wanna FULL control for my OS. Network configuration with bridges, firewall, my own cron jobs, sysctl tweaks, etc
  2. Resources. Core installation take nothing from system. Really. But any other use docker and we have a lot of overhead.

Can anyone help a lonely stranger?)

PS: As a matter of fact, there is no other tool like HA to be used as home automation center. HA is really great.

1 Like

No, an add-on is a docker container specifically configured to work directly with HA.

Instead of built in file editor, you rather setup Samba and edit the files from a remote machine. Node-red is also unnecessary overhead, you don’t need Node-red, HA automations are capable enough to do everything you need. Alsa and pulseaudio have nothing to do with HA directly, there are countless of tutorials to set these up in a linux machine.

It’s a bit of overhead, but definitely not a lot, any facts to back up your claim?

I installed supervised version and core version on another pc with atom 2 cores.
Resources for core version: about 300MB memory and 0.1 load average
Resources for supervised version: about 760MB memory + 3GB cached and 0.6 load average
used with HDD sata2, DDR3 memory.

Is there any public info how to configure different soft with HA without docker ?

it’s just for an example. mc by ssh is a little bit better than samba.

Ok, back when I was comparing it there was not any noticeable difference. Did you try Home Assistant Container as well?

I don’t understand what exactly you are looking for. Can you name some examples?

I use Visual Studio Code and Samba, works like a charm together, also VSC has a noce plugin specifically for HA for auto completion of entitires, etc.

1 Like

I think you really need to look into this. I’m running Home-assistant container, its just the core version of home assistant in a docker container, and resource use for me is minimal. These are the stats from the top command showing minimal cpu and memory usage. install is on an mac mini running Ubuntu with nvr recording two cameras 24/7. Then I have docker running adguard, swag/nginx, Node Red, zigbee2mqtt, zwavejs2mqtt, home assistant, wireguard, and portainer.

Screenshot from 2021-08-31 20-00-51

Although the supervised install with addons still uses docker, a lot of overhead is added with the supervisor. If you install the container version on your own, then install “addons” on your own through docker yourself, there is no supervisor. Although docker is needed I think this is the best way to go.

If you try and avoid docker and install a python install it is considered “advanced”, and there is little documentation on that and you are pretty much on your own, and you still need a virtual environment for it.

1 Like

then use the most simple install and install HA in python venv.
almost all addons are available as seperate program as well, so you can install those you like as well.

and for HA you dont need things like vscode at all. its all yaml or frontend.

Hi everyone.
First of all, a took a litlle delay to think about a problem. There are some results.

This question hit the bulls eye. I will explain below.

I suppose this post was a result of my bad knowledge of documentation and HA arhitecture and a lot of information about addons installation from HA OS or supervised version directly. So i tried to install something as example. I chose simple vscode and postgresql to try. And i did it with my core installation.

So, the answer for a Burningstone question is:
i tried to find an official documetation that describe instructions for a different software settings around HA and HA Core settings for it. Without docker/VM/Supervisor and so on.

Result system load here (yes, in total there are no integrations and automations, but you may see a basic system load):


System runs Postgresql, HA in venv, VS code in iframe, nginx as a proxy for HA and VS Code (code-server).

Each experiens have to be transformed into illation to allow development process be more productive.
So what we shall to do for another people like me to prevent this questions.
The answer is - improve documentation. I understand that HA developers can’t and dont have to write all instructions for every program or library, but we need some start point in this direction.

First of all, HA Core documentation at installation point have to contain some text to explain new users how to integrate very popular addons (yes, in common, it’s not a addon, but let me call it here like that) for DB (psql, mysql), VS code as example, nginx and link to configuration.yaml description. Also there have to be some words about addons in common. People who install core version know what to do. They already have an experiense to install another software and configure it. So this information will give them the bridge from they existing knowledge and new knowledge about HA.

Why i chose these popular addons? Because of that:

  1. Installation of nginx give a basic usage improvements, allow add letsencrypt in many different ways, and give some knowledge about minimal nginx config (minimal official config have to be in documentation!)… Thats my (very basic, from this forum,ssl later)
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80 default_server;
    server_name <YOUR_SERVER_NAME> <YOUR_IP> _;

    proxy_buffering off;

    location / {
        proxy_pass http://127.0.0.1:8123;
        proxy_set_header Host $host;
        proxy_redirect http:// https://;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}
  1. Installation of any DB improve HA speed, explain a original DB location and structure (migration description), but not only! Core installation does not install packages in venv for postgresql connection. So this basic thing will explain users to not forget install dependencies there. You need to do it in your venv (login as HA user in venv folder and run):
python3 -m pip install psycopg2-binary 
  1. VS code is not needed for every one, but its give another thing. First, it’s give a understanding how to install (or integrate existing) things in HA iframe.
    So we install code-server as official manual (do not forget add hashed-password in config), add nginx config for usability and put some lines in HA configuration.yaml. That’s all. My very simple nginx config:
server {
    listen 81;
    server_name <YOUR_SERVER_NAME> <YOUR_IP> _;

    proxy_buffering off;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Accept-Encoding gzip;
    }
}

And very simple configuration.yaml part:

panel_iframe:
  vscode:
    title: "VS Code"
    url: "http://<your_ha_dns_name_or_ip>:81"
    icon: mdi:microsoft-visual-studio-code
    require_admin: true

Also, here have to be a link to official documentation, describing this section.

Why i wrote this long read text ?) Because i think someone like me will read it at once and make a bridge a little bit faster. Also i hope someone will improve documentation (possibly, i will after a couple of months of usage).

Thanks everyone! :crazy_face:

1 Like

I admire your passion for this installation method (Core). While I feel that there’s no right or wrong way to run Home Assistant (in a supported method), 96% of users has found other installation methods an easier road to follow.
Who knows, with your upcoming new documentation, this could change.

1 Like

what you forget is that addons are NOT the responsibility from HA.
you wont find documentation about populair windows programs, inside the windows documentation.
not even a link to those programs.

your nginx example is a good 1.
its nginx, not HA. so for configuring nginx you read nginx documentation.
the addon is just a small program to help you run nginx on the hass platform. nothing more then when you run docker.

if there is anything about nginx in the HA docs, then i think it shouldnt be there at all.
for simple configurations there should be something in the addon docs though.

1 Like

In common, I agree with you. I said that this documentation have to be, but of course it may be not in HA docs directly.
HA addon docs - possibly is a better place.
Also examples page or Common tasks page looks like a good place too.

There are a situations, when a couple of sentenses may save a lot of time for someone.
In any way, do you agree that simple software config or some common information about it may have been useful for users with HA Core?

no.
esspecially not for core users.
because core users shouldnt use addons at all. (if they can)

just my thought:
if you chose for HA core, then you chose for the freedom to install and configure things manually, without all kind of predefined things.
appdaemon for example also is available as addon, but for HA core users i will always say to also install appdaemon manually in python venv, and not the addon.

addons have their own docs. so if an addon doc isnt sufficient then you need to take that up with the creator/maintainer from the addon, but thats not HAs responsibility.

appdaemon (again) is just like nginx a program that is maintained by other people. HA has no influence on it, not on the development, not on the configuration, etc.
so why would any dev from HA want to keep an eye on programs that are maintained and written by third parties?

the example page is for stuff that is in HA, so it would be wrong to add it there.

thats where the community helps, and thats why they created more easy options the core.
core is advanced use. so chosing for that is chosing for more work and less help. (but more freedom)

1 Like