What do you mean with “Operating System”?
It is most often installed as Docker container, which isn’t an OS, but just includes all dependencies to run. You still need an OS (like Debian) as host.
SystemHome Assistant OS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Home Assistant ecosystem. It is the recommended installation method for most users.
What do you mean with “Operating System”?
If I go to
https://www.home-assistant.io/
and click on “Installation”, ignoring the custom Home Assistant hardware, the first relevant section is “DIY with Raspberry Pi” whose tutorial has a section “Install Home Assistant Operating System”.
The second relevant section of the Installation page is “Install on other hardware” with a paragraph whose second sentence is “The Home Assistant Operating System allows you to install Home Assistant on these devices even if you have little to no Linux experience.”
It’s most often installed as HAOS, which is a dedicated operating system that just runs Home Assistant. That is how anyone installing it on say, a Raspberry Pi, is likely to do it.
Home Assistant as a project is far more popular than every single other consumer focused server and as such it is often the first home server (and sometimes only) that many consumers will experience.
It can also be installed using docker containers but that is more difficult to manage as you have to install every component manually.
I guess that my message wasn’t clear but by “component” I meant a home automation component.
I have the following containers in my HA installation:
- Home assistant
- Node red
- MQTT
- Zigbee2mqtt
- Esphome
And maybe others that I have forgotten.
Each had to be installed manually by adding it to my docker compose file, mapping drives, and editing config files.
Most, if not all, of them (except HA) can be installed from within HA if you’re using HAOS.
@nogooduser @rah I’m currently running it in docker, and it’s taught me a lot about docker, but it’s a hell of a technical overhead every time you want an addon.
The documentation very strongly steers you to a whole-os install, and I don’t like that, but I’m tempted. I may well succumb and pick the HA image for my raspberry Pi, start over
The one thing that was a misstep on my docker journey was that the original tutorials that I followed installed them using the command line. It’s much better to do it using a docker compose file.
@nogooduser Oh yes, I agree. Docker documentation is so random. Once I discovered that later versions of compose could inline the buildfile, I realised that was clearly the way to go. But you have to hunt through the docs to find it.
Home Assistant has a lot of moving parts, all the add-ons and extra user stuff. So they provide a docker image with everything you need, they also provide a full appliance install for easy setup.
If you did all that as a package install, you would complain about all the dependancies and if you didnt install the right version of something Home Assistant might not work at all
all the add-ons and extra user stuff
You’re hand-waving the answer to my question :-) What add-ons and extra user stuff require Home Assistant to be an OS?
If you did all that as a package install, you would complain about all the dependancies and if you didnt install the right version of something Home Assistant might not work at all
That’s not how packages work. The packagers take care of all that. That’s the point.
Do you have some links to read up on that? I saw the Nix stuff. And the Home Assistant devs seem pretty alright to me. Sometimes they make decisions which I don’t understand. But I’d like to know what kind of internet drama surrounds this…
This isn’t the very beginning, but a lot of the discussion can be read here - https://community.home-assistant.io/t/consider-to-avoid-adding-library-dependencies-from-frenck/315185
He alone has behaved like a child, dragging his end users along with him in his over-reliance on one failure point for his entire distribution system
Yeah, this is exactly as expected. Someone with poor engineering skills finding themselves in a position of power and making sure everyone knows they’re king of the hill. See this kind of thing all the time unfortunately :-(
@rah There are tons of applications which can be installed via git clone and make instal using a isolated environment like pyenv or others. So I agree.
Now I get an Haos and docker thingy which is very restrictive on most types of installs. If installed different than the maker wants, no addons or more restrictions.
Home assistant is in the top 10 most popular and active open source projects.
@Rah, you need to pull your head in with your repeated assertion that it is poorly engineered simply because it doesn’t use a particular distros packaging system. Perhaps you haven’t used it enough to fully appreciate the things HA does?
The devs are listening to their customers who value: ease of use, reliability, stability and security in the system which orchestrates the iot devices in their home or workplace.
HA often runs exposed to the internet, has a catalog of thousands of integrations and a good hundred add-ons, (before we even get into the HACS community store), has its own desktop and mobile and even watch apps. Each of these components and configurations may be backed up and updated within HA itself with no external dependency. Yet the team and volunteer devs remarkably manage this complexity and release features and changes almost every week.
Initially the project was a lot more flexible in supporting bare scripted installs. I used to run a custom supervised installation myself, managed lots of entries in a configuration.yml, however this mode of installation and operation was deprecated as the project matured. I believe it was the right call to make.
As the project’s popularity grew amongst smart home enthusiasts and vloggers and started to reach the general populace who might have never touched Linux or a command-line before, supporting all that demand meant that tighter controls were necessary to define what a ‘supported’ system and environment was. That is, a predictable and reproducible environment at millions of installations.
The solution is to recommend users install the system as a complete appliance, an entirely contained, managed and controlled operating system HASSOS, on bare metal or as a virtual machine. Or fallback to HA Core if the user is comfortable managing Docker. Experienced Linux users who want to spend time managing dependencies themselves are no longer the primary audience or user base for Home Assistant, but are still free to do so if they accept zero support and various warnings.
Hope that helps and wasn’t a waste of time explaining.
Look into “install home assistant core” on https://www.home-assistant.io/installation/linux
That’s manual installation which is (a) not distro packages and (b) exactly what distro packages are created to avoid.
Maybe I’m just old school and distro package means something different to me, but here is a link to the Home Assistant .deb distro package:
the Home Assistant .deb distro package
Firstly, that’s a .deb but it’s not from a distro. Secondly, that .deb doesn’t contain Home Assistant, it contains some “Supervised” which runs the Home Assistant Docker container: