There is. Its name is supervisor. It’s even written in python. That is the tool the HA team publishes which allows a developer to attach a config file to a stock 3rd party image to add all of this functionality to it
Along with all the other infrastructure things the HA team has identified as needs for HA users (backup, restore, watchdog, update monitoring, log access, network config changes, etc)
If you do a docker installation you are making the explicit choice to run without this tool. Which means any of the things the tool does that you like you have to do yourself.
I feel like we’re going in circles so I guess I’ll stop here. As Taras said much earlier your welcome to make any FR you want but this one seems quite unlikely. At least by the HA team, Community Guides are always welcome.
Going through this thread I really feel maintainers are missing the point. So I created an account just to explain the use-case step-by-step and why it is a real issue.
I built a custom REST API that tracks internal information on my server.
I am running my HA server in a docker container.
I google “Use REST API as sensor in Home-Assistant”
I can’t install it because it’s an addon and I am running HA in a container. There is no docker image for it, I just get the code.
This is not an “expert” feature, this is just an installation with reduced features where I can’t do simple things like pulling data from a REST API.
The installation page (Installation - Home Assistant) should make it clear that HAOS is the right way with stronger wording than:
Home Assistant offers four different installation methods. We recommend using one of the following two methods:
Home Assistant Operating System: Minimal Operating System optimized to power Home Assistant. It comes with Supervisor to manage Home Assistant Core and Add-ons. Recommended installation method.
Home Assistant Container: Standalone container-based installation of Home Assistant Core (e.g. Docker).
Where the tradeoffs are missing entirely. It even lists both approaches as “recommended” with HAOS having a second “Recommended” in it’s description.
Hi !
They RESTful sensor (the thing you linked to) is not an Addon, it’s an integration. Furthermore it’s a core integration shipped directly with every HA installation per default. To use it you really only have to follow the very documentation you linked to. You don’t have to install anything additionally.
It’s not an add-on, it’s an integration (look at the URL). All (official) versions of HA runs the core, which includes all the built-in integrations, such as this one.
Just to be clear, integrations and addons are different things. Whatever you found under the integrations Integrations - Home Assistant (home-assistant.io) page, are all part of the core - you’d get all of those regardless how you install your HA.
Add-ons, on the other hand, are services that are “related” to your home setup, and only applicable to HAOS install method. If you want a different database? That’s available as an add-on. Plex? That’s available as an add-on. You want Node-Red for automation instead of the built-in automation editor/engine? That’s available as an add-on. You want to do Cloudflared so that to connect to your HA services from outside? That’s available as an add-on.
In the background, addons are containers also. They are just packaged specifically for HAOS, so that to smooth out the learning curve for users who choose HAOS.
== An example ==
One might ask: wait a minute, what if I go container-based installation, and want to do Plex? Couldn’t I just install Plex server somewhere else myself?
The answer is sure, of course you could, and that’s the point: you very likely could find equivalents of those HAOS add-ons available somewhere else in a different format, and you could totally do that yourselves if you want to.
Now, what if I want to integrate my HA to my Plex server (that is in another metal box)?
Sure you could do that also. Search “plex” under the aforementioned integrations page, and you will find how you could connect HA and Plex together, and build your own interesting automations.
While that is all entirely true and correct, I think that, based on the context of this thread, that an even finer point needs to be put on it…
Yes, those things are all add-ons and are related to HA OS (and HA Supervised as well) BUT All of those things are also available and can be installed as their own Docker containers even without the use of HA OS or HA Supervised.
Add-ons only provide a way to install and configure those Docker containers from within HA itself.
They are fully available and functional with HA without the Supervisor. You just need to install & configure them yourself.
Apart from the “Supervisor’s” automation for setup, there is another point to consider when choosing HAOS/HA Supervised versus HA Container:
In case of HA Container, the HA ingress functionality does not exist. So, if the addon provides GUI front-end, it can be included in HA, but only as an external web-site via i-frame (I think).
Say, I would have five extra addons.
If I want to be able to use their GUI from public internet (like I do access my HA core), then the requirement for authentication (part of addon? Nginx proxy simple authentication? …), firewall, and port-forwarding significantly increases the complexity of the setup.
I am running HA as a container and I would like to understand how to configure Warema WMS Integration as an addon. HA OS or supervised installations are absolutely not an option for me, so here I am trying to figure it out and learn how to configure and run these containers separately through docker.
There are people like me which are not confident with docker and Linux using it.
I reuse my jeedom atlas box to run HA. But I didn’t know I ll not be able to use adding.
I ve installed hacs but it cannot provide me everything.
And now I want to install a theme but I need to update a yaml configuration file using vscode and I don’t find a solution anywhere.
Just wanted to update this post, as I came here looking for this answer. I run HA in a docker container as well and wanted to try the Wyze addon via HACS. I used the instructions on HACS to get it going, which was a snap. (Download | HACS)
Open a terminal
Go inside the container with docker exec -it homeassistant bash
Run the HACS download script
wget -O - https://get.hacs.xyz | bash -
FWIW I do have a local directory so it persists across containers/host reboots.
Wow, this got heated.
IMHO, the maintainers are making a mistake trying to develop an OS supervisor. The requirements for installing home assistant supervisor are just… draconian and very limiting. Why can’t the supervisor just manage docker containers and host system configurations if that is needed by a container instead of just taking over everything on the host? Why does it require network-manager, for example? Are you trying to develop a web interface that replaces X server or are you developing a home automation system?
I have to agree mostly with the OP. Today’s tendance goes to micro service infrastructures and there are good reasons for that (no virtualization layer, interoperability, compartmentalized concerns & security, etc.).
VMs are still used a lot today because there are a buttload of tools & OSes to manage them, but their usage should slowly decrease for the benefit of containerized applications.
I also agree with @chedim about the supervisor, there will always be dependencies for all applications (at least database, files, network, etc.) and an application developer should try to open his app to allow these dependencies to work with it rather than including them in a home made OS because it might be more and more difficult to maintain.
I originally chose HA over Jeedom because it had a nice Docker image available (that’s the first thing I check when choosing a service), and I hope it’ll stay as powerful as today.
Maybe nothing related but I’m a developer for >20 years like @aigarius
Jumping in here… I’m on the side of the OP on this. I think this is ridiculous that the maintainers here are choosing to build their own operating system for this. This is counter to current technology trends and frankly is probably sucking a lot of time and resources from core features. Let OS developers develop OS’s. You guys are doing NOTHING special that requires an entire OS. If you want to be able to manage docker containers for your environment you guys should look at docker in docker.
Float a core docker image to setup HA, supervisor etc, then run add-ons within that is DIND containers. Problem solved, and if someone wants to dedicate a whole OS you system will still work even on bare metal.
Sounds like you guys have gone way down the wrong path and are making excuses as to why you cannot go back to something easier.
Making an app that only runs on a specific OS, specifically developed for the app is a 1970’s approach to computing.
HA have launched the yellow and now the green in the last 2 years, which is perfectly reasonable IMO to want to have a custom OS where they control every aspect to ensure the best user experience.
This description is not at all accurate for addons.
addons are literally just docker containers with some extra sauce to make things simpler inside HA OS. They are still available and able to be run in any docker environment. I have had no problems loading up the docker containers for the recent voice integrations, matter in HA, etc.
So now they are selling hardware to make up for the fact that they have a poor design? Again the whole concept is contrary to everything in computing today. Let’s use more power and have more physical dependencies, more heat generation etc etc… when completely unnecessary.
Again, are the maintainers really prepared to deal with hardware and an OS stack? Soon they will spend more time keeping up with is and hardware security patches than maintaining the actual app. And there is no reason at all for that.