• Kokesh@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      2 months ago

      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.

      • Strit@lemmy.linuxuserspace.show
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 months 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.

      • 4am@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months 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.

      • Strit@lemmy.linuxuserspace.show
        link
        fedilink
        English
        arrow-up
        21
        arrow-down
        2
        ·
        2 months ago

        You didn’t mention in your OP that it had to be debian distro packages. I just gave examples of HA being packaged in other ways than a complete OS.

        I could have said: “If you want to run HA from packages, you need to install Arch!” But I didn’t. Chill out.

        • rah@feddit.ukOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          22
          ·
          2 months ago

          You didn’t mention in your OP that it had to be debian distro packages.

          It doesn’t. WTF are you talking about?

      • hendrik@palaver.p3x.de
        link
        fedilink
        English
        arrow-up
        13
        ·
        edit-2
        2 months ago

        A lot of software isn’t packaged for Debian. Especially complex ones and webapplications tend to be Docker containers or something like that. Home Assistant has a lot of Python dependencies which are a chore to maintain the Debian way. Same probably applies to some other distros. I mean it can be done, as Arch and NixOS show…

        And you have Docker, you can install HA core in a Python virtual environment on any distro, or install Supervised, or the appliance (OS).

        So there are many ways to install it. And I have the same complaint for other software. For example I’d like Nextcloud and a few other collaboration services to be available as distro packages. Sadly they aren’t available like that.

        • rah@feddit.ukOP
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          19
          ·
          2 months ago

          A lot of software isn’t packaged for Debian.

          Yes, often projects which are engineered without distros in mind. Which is to say, engineered poorly.

          • 4am@lemm.ee
            link
            fedilink
            English
            arrow-up
            13
            arrow-down
            1
            ·
            2 months ago

            You don’t have to use HomeAssistant if you hate it so much.

          • hendrik@palaver.p3x.de
            link
            fedilink
            English
            arrow-up
            10
            arrow-down
            1
            ·
            edit-2
            2 months ago

            Yeah, I don’t think I agree with you at all. Software development and operation are vastly different jobs. Packaging is yet a different story. Maintainers need different things than developers. Handling dependencies is a chore, and you need lots of them if your product speaks dozens of protocols and can interconnect with thousands of devices, each with their own quirks… All the people have something in mind. They already pay attention to deployment and support several methods. Sure it’s not the method you have in mind. But the world doesn’t specifically revolve around you. There are other factors at play. And sure. It’d be awesome if we solved software packaging, dependency hell, the supply chain of larger projects and everything. It’s just not easy. And reality has quite some limitations. It’s just… fighting reality doesn’t get you anywhere. Sometimes we have to make ends meet with imperfect solutions. Or you just live without a smart home. Or use a different software stack. I mean there is FHEM and some other projects.

            And with that said, there is some merit to what you’re saying. Software should be designed with usage in mind. It’s just not easy and there are contradicting requirements. Either someone puts in all the effort to cater for your specific use-case… Or they don’t.

            • rah@feddit.ukOP
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              14
              ·
              edit-2
              2 months ago

              They already pay attention to deployment and support several methods. Sure it’s not the method you have in mind. But the world doesn’t specifically revolve around you.

              It’s not my method. Writing software with distributions in mind is the standard in free software development.

              It’s just not easy.

              Indeed. That’s why many engineers don’t bother. Especially poor engineers.

              • hendrik@palaver.p3x.de
                link
                fedilink
                English
                arrow-up
                12
                arrow-down
                1
                ·
                edit-2
                2 months ago

                yeah, you don’t listen. i’d say complaining is fine, generally in most circumstances. but it won’t get you anywhere in this case.

  • Matt The Horwood@lemmy.horwood.cloud
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    2 months ago

    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

    • rah@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      11
      ·
      edit-2
      2 months ago

      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.

  • SkyNTP@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    edit-2
    2 months ago

    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.

    • rah@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      3
      ·
      edit-2
      2 months ago

      this is probably a ton of work, for which a purpose-built solution already exists: Docker

      LOL Docker isn’t a “solution” to the pressure of good engineering.

  • Fliegenpilzgünni@slrpnk.net
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    4
    ·
    2 months ago

    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.

    • smeg@feddit.uk
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 months ago

      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.

      From the docs for installing on a RPi

    • rah@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      2 months 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.”

    • masterspace@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      2 months 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.

  • recapitated@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    2 months 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.

  • Zavorra@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    2 months ago

    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.

    • rah@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      11
      ·
      edit-2
      2 months ago

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

      I disagree. The Home Assistant developers are the ones who chose to create an OS. They could have chosen to create distro packages instead, or at least software which is amenable to being packaged by distros.

      obsolete

      What does that mean in the context of Home Assistant?

      • CondorWonder@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        1
        ·
        2 months ago

        It comes down to what are the developers willing or able to support.

        For smaller teams they usually don’t want the responsibility of maintaining the package for distros, and HA developers have chosen to not support that option themselves. In their case I see it - what’s the benefit or incentive to them to maintain packages and the associated support costs or headaches. Containers mean they get a known state and don’t have to try to support unknown environments.

        Some interested people can maintain the packages for their chosen distro - for instance I see one for Gentoo but it’s only up to 2024.6. It’s the first that came up in a search but there are likely more too supported by the community.

        In my case, I also think that using HAOS on a dedicated box has led to a more stable experience as it’s not competing for resources on my other hosts, and attaching devices to it is much simpler. I think encouraging a solid base for people means a better experience overall when to be honest it’s hard to get started with it to begin with for many people.

      • yggstyle@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        2 months ago

        It seems to me they chose to provide a platform that vastly simplifies the installation of their software and maintenance of its code from a debugging standpoint. This seems perfectly reasonable. This appears to bother a particular community who feel entitled enough to demand multiple developers cater to their distribution’s needs. Shit needs to stop.

        • rah@feddit.ukOP
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          2 months ago

          This appears to bother a particular community who feel entitled enough to demand multiple developers cater to their distribution’s needs.

          Your reading of the situation is wrong.

          • yggstyle@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 months ago

            Honestly I really don’t think I am.

            I’ve seen a number of topics over the last few weeks that are framed as this evil developer is doing a sinister thing…. And for what it’s worth I read the “clickbait” and then did my due diligence and followed the links / git responses etc and lo and behold every. single. issue. was stemming from that community.

            We aren’t reddit. This isn’t 4chan. If your community is getting cut off because, frankly, it’s being unreasonable… don’t come here looking for a personal army.

            • rah@feddit.ukOP
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              2 months ago

              this evil developer is doing a sinister thing

              Nobody has said that here.

              that community

              I’ve no idea what community you’re referring to. Nobody here has demanded that any developers cater to their distribution’s needs.

              If your community is getting cut off because, frankly, it’s being unreasonable… don’t come here looking for a personal army.

              Again, I’ve no idea what community you’re referring to. Nobody has come here looking for a personal army.

              Your characterisation of the commentary on this post seems like that of an overly. dramatic. teenager.

              • yggstyle@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                1
                ·
                2 months ago

                Strange- the very tone of this thread is suggesting that the HA developers choice in how they distribute their platform is “incorrect” by your assertions. Further you seem to disagree with explanations provided as to why those choices were likely made.

                Dismissing those statements and observations do not make them incorrect. Nothing I stated is dramatic: it is an observation and a comment on an increasing trend popping up around several projects. This particular topic and your responses within it align with that trend. My closing statement was directed at that. You are welcome to not like it but resorting to insults is a bit childish.

                • rah@feddit.ukOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  2
                  ·
                  edit-2
                  2 months ago

                  the very tone of this thread is suggesting that the HA developers choice in how they distribute their platform is “incorrect”

                  Not incorrect, just poor engineering. Anti-social ultimately.

                  you seem to disagree with explanations provided as to why those choices were likely made

                  I can see only two disagreements in the whole post. Only one of those is about the reasons for creating an OS rather than distro packages. I have corrected a number of factual errors and errors in reasoning but those aren’t disagreements.

                  Dismissing those statements and observations do not make them incorrect.

                  Yes, my dismissing of them is not what makes them incorrect.

                  Nothing I stated is dramatic

                  LOL “this evil developer is doing a sinister thing”

      • Zavorra@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        2 months ago

        Since HA depends on a lot of python packages, on external softwares and libraries it could not feasible to ensure that the versions packaged with the distribution will always be in line with those needed by HA

  • nogooduser@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    5
    ·
    2 months ago

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

      • nogooduser@lemmy.world
        link
        fedilink
        English
        arrow-up
        11
        ·
        2 months ago

        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.

    • Fish Id Wardrobe@social.tchncs.de
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      @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

      • nogooduser@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months ago

        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.

        • Fish Id Wardrobe@social.tchncs.de
          link
          fedilink
          arrow-up
          2
          ·
          2 months 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.

  • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍@midwest.social
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    2 months 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.

  • JustDude 🍋@mastodon.nl
    link
    fedilink
    arrow-up
    0
    arrow-down
    5
    ·
    2 months ago

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

    • cbAnon0@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago

      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.