Ancestors

Written by Gytis Repečka on 2025-01-19 at 15:07

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

Written by Diane on 2025-01-19 at 17:00

@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

Written by Alex on 2025-01-19 at 18:07

@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

Toot

Written by Diane on 2025-01-19 at 18:13

@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

Descendants

Written by Alex on 2025-01-19 at 18:18

@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

Written by Diane on 2025-01-19 at 18:22

@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

Written by Alex on 2025-01-19 at 18:39

@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

Written by Gytis Repečka on 2025-01-19 at 19:00

@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

Written by Diane on 2025-01-19 at 19:14

@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

Written by Diane on 2025-01-19 at 19:10

@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

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113856375190567089
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
331.190581 milliseconds
Gemini-to-HTML Time
2.811918 milliseconds

This content has been proxied by September (3851b).