this post was submitted on 17 Sep 2024
-5 points (45.6% liked)

homeassistant

12066 readers
33 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Available for free at home-assistant.io

founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 36 points 1 month ago* (last edited 1 month ago) (11 children)

It is both.

Home Assistant created an OS for appliance like installations.

But there is also the docker images, repo packages (I know Arch Linux has it in the repo) and pip based packages too.

[–] [email protected] 6 points 1 month ago (2 children)

I installed it on my home Ubuntu server many years ago. Every now and then I get notification in HA, that my OS is unsupported. And if I want to update HA, add-ons or Supervisor, I can't, because "Docker is misconfigured" - I have Portainer installed. In order.to update, I have to stop Portainer and restart HA Supervisor. HA itself works, but sometimes I don't get it. Especially the Portainer bit.

[–] [email protected] 4 points 1 month ago

Maybe you where on an older Ubuntu LTS. I don't know which Ubuntu they consider "supported".

I've been running my HA in Docker on Arch Linux for the last 4-5 years and I have never been notified that my OS is unsupported. Could be portainer related.

[–] [email protected] 3 points 1 month ago

For some reason, on Ubuntu, the Supervisor container loses its “privileged” status. I’m not sure if it periodically restarts itself or something , but that also was happening to me.

I moved my setup to Debian 12, did a fresh Supervised install, and then restored a full backup from my Ubuntu instance and I haven’t had this issue since.

load more comments (10 replies)
[–] [email protected] 11 points 1 month ago (2 children)

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

load more comments (1 replies)
[–] [email protected] 9 points 1 month ago* (last edited 1 month ago) (1 children)

Before I understood Docker, I used to have HA installed directly on bare metal side by side with other "desktop" apps.

To be able to access devices, HA needs many different OS-level configurations (users, startup, binding serial ports, and much more I don't have a clue about). It was a giant mess. The bare OS configuration was polluted with HA configurations. Worse, on updating HA, not only did these configurations change, the installation of HA changed enough that every update would break HA and even the bare OS would break in some ways because of configuration conflicts.

Could this be managed properly through long term migration? Yeah, probably, but this is probably a ton of work, for which a purpose-built solution already exists: Docker. Between that and the extra layer of security afforded by dedicating an OS to HA (bare metal or virtualized), discouraging the installation of HA in a non-dedicated environment was a no brainer.

load more comments (1 replies)
[–] [email protected] 7 points 1 month ago (2 children)

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.

[–] [email protected] 6 points 1 month ago

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."

[–] [email protected] 3 points 1 month ago* (last edited 1 month ago)

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.

[–] [email protected] 6 points 1 month ago (23 children)

You should ask this to your favourite distro packagers, not to the home assistant developers.

In any case, it is such a mess of dependencies due to load of optional packages, very active development, that continuously break dependencies on the package repo.

What advantage would bring have a most of the time obsolete distro specific repo? On a maintainer POV this is the typical use case for distro agnostic deployment, maybe flatpak, maybe docker.

load more comments (23 replies)
[–] [email protected] 6 points 1 month ago

I installed it on Ubuntu server on my raspberry pi 4 and it took a couple months to fall over and become useless.

I've been running their OS since then and it has been absolutely rock solid. It's been 5 or 6 years now, all I do is add more devices occasionally and update it when it occurs to me.

If you have a life and you don't absolutely love tuning your OS for special purposes in ways that are already solved problems, the hass os image is the way to go.

[–] [email protected] 5 points 1 month ago (3 children)
load more comments (3 replies)
[–] [email protected] 1 points 1 month ago

It's true some things are harder to do in the container configuration; it's easier installed as an OS, especially integrations like Z-Wave, ZigBee, RTSP, Eufy, ESP, and so on. All of these require running other software, and in containers it's a fair bit of fussing with port and host OS device connections.

I've always run it in a container, without issue. It works fine, but I'm comfortable with the command line and LXC. That said, flashing an ESP hardware device and getting it connected to HA running in a container has so far defeated me, because I have to give access to the device in the configuration of the container before I run it, but the device flashing process itself is time limited and expects a process to be waiting on it when it is connected. It's a chicken/egg problem I haven't yet figured out which wouldn't be a problem if I were running the HA OS.

HA isn't the only software that just works better when it controls the while OS. Kodi is another that encourages users heavily to running it as an OS.

Regardless, it runs fine via

podman pull ghcr.io/home-assistant/home-assistant: latest

and there's a package in AUR that wraps the container up with a systemd service - it's as close to a bare package install as you're likely to get.

What's a little funny to me is that, despite that I've been running HA in a container for the past 4 years, I'm working towards getting a dedicated device and running HA OS on it. If we ever move out of this house, I'm not going to spend weeks going around replacing all of the hardware - smart sockets, lights, garage door opener, security, etc etc - with dumb devices; and for any of that to be worth anything, it's going to need a controller configured for it, which means, I'm planning on selling the HA server device with the house. For that case, I don't want anything but HA running on that device, and for that, it'd just be easier and smoother to run HAOS.

My advice is to run HA in a container until you are sure that's the direction you want to go, but not for so long that it's going to be a PITA to migrate to a dedicated server. But - hey, just IMHO - plan on running HAOS. If I knew then what I know now, that's what I would have done.

[–] [email protected] 0 points 1 month ago (3 children)

It can also be installed using docker containers but that is more difficult to manage as you have to install every component manually.

[–] [email protected] 9 points 1 month ago (1 children)

That’s not how docker works, bud.

[–] [email protected] 11 points 1 month ago (1 children)

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.

[–] [email protected] 4 points 1 month ago

Ah, that makes a lot more sense.

[–] [email protected] 3 points 1 month ago (1 children)

@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

[–] [email protected] 3 points 1 month ago (1 children)

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.

[–] [email protected] 2 points 1 month ago

@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.

[–] [email protected] 2 points 1 month ago

Yep, that's how my install is, running Debian, home assistant in containers (core, supervisor, more)

load more comments
view more: next ›