Wanted to give Home Assistant a go, but figured it is only packed either as a container, virtual machine or full disk image (for deploying on Raspbery Pi or Odroid). Why the heck no good-old plain install? :blobcat3c:
It's just a binary, few dependencies and a system service, right?
Containers are such an overhead :blobcat_coy:
[#]developerlife #containers #homeassistant
=> More informations about this toot | More toots from gytisrepecka@social.gyt.is
@gytisrepecka
Look for home assistant core for the bare metal instructions. Home assistant really likes pinned dependencies, so needs at least a Python virtual environment like venv
=> More informations about this toot | More toots from alienghic@octodon.social
@alienghic @gytisrepecka Pinning dependencies is a good thing. Seeing how often HA would break with all the updates to third party libraries, it reduces support and user problems a lot.
=> More informations about this toot | More toots from a_lex_ander@mastodon.social
@a_lex_ander @gytisrepecka
There's reasons why they did it. But it does mean also mean you can't depend on system packages, which does add more steps to the install process.
And it might be nice if it was easier to override their pins, because it'd be nice to be able to update specific dependencies without having to move update the whole installation.
Though that'd probably require running your own continuous integration tests to see if it'd work.
=> More informations about this toot | More toots from alienghic@octodon.social
@alienghic @gytisrepecka Why would you want to use system "libraries" for very complex Python projects?
In my experience it's very hard to package software like Home Assistant for systems. Python devs apparently gave up (with venv) and looking at the chaos that are Python system packages in Debian, for example, I can understand why.
=> More informations about this toot | More toots from a_lex_ander@mastodon.social
@a_lex_ander @gytisrepecka
The fewer copies of a piece of software installed on your system the easier it is to audit them all and make sure they've been updated for bugs or security issues.
Auditing what's in a docker container is a pain.
=> More informations about this toot | More toots from alienghic@octodon.social
@alienghic @gytisrepecka Let's be honest: do you actually audit all software you install on your servers? Every single library? If yes, then auditing a container is actually the same amount of work, but sure, it's more work of you audit every container. You'll have a very hard time auditing static builds though, in containers and package managers equally.
=> More informations about this toot | More toots from a_lex_ander@mastodon.social
@a_lex_ander @alienghic Got a lot of useful info, thanks! :ablobcathappypaws:
I guess I'll reconsider using Home Assistant at all - had more than enough fun with Domoticz (which is :python: based too), so not too sure about starting another complicated Python journey :blobcat_coy:
=> More informations about this toot | More toots from gytisrepecka@social.gyt.is
@gytisrepecka @a_lex_ander
All those dependencies are what allows HA to integrate with so many different kinds of things, it'd be hard for anything else to also support so many different kinds of integrations without piles of dependencies.
It is easier to set up HA with the container, but it's certainly doable with core. I've been running core for a several years.
Because of all the pinning I do think it's a good idea to update HA fairly regularly though.
=> More informations about this toot | More toots from alienghic@octodon.social
@a_lex_ander @gytisrepecka
I do this a lot:
parallel-ssh -l root -h ~/etc/all.txt -o ~/tmp/pssh dpkg -l rsync
grep rsync ~/tmp/pssh/* | grep -v 3.2.7-1+deb12u1
to make sure that i've updated a package that had a CVE issued.
=> More informations about this toot | More toots from alienghic@octodon.social
@gytisrepecka See the advanced installation methods section. I'm not sure I see the point of making it hard when you can just drop a Pi onto your network; Home Assistant is hard enough.
https://www.home-assistant.io/installation/#advanced-installation-methods
=> More informations about this toot | More toots from kbob@chaos.social
@gytisrepecka That page also has a feature matrix so you can see what the various installation types can/can't do.
=> More informations about this toot | More toots from kbob@chaos.social This content has been proxied by September (3851b).Proxy Information
text/gemini