this post was submitted on 17 Feb 2024
78 points (85.5% liked)

Selfhosted

40184 readers
647 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Okay, let me start by saying that I really do love Home Assistant. I believe that it is a fantastic piece of software, with very dedicated developers that are far more talented than I. Although, that being said, I strongly disagree with a number of their design choices.

My most recent problem has been trying to put Home Assistant behind a reverse proxy with a subpath. The Home Assistant developers flat out refuse any contribution that adds support for this. Supposedly, the frontend has hard-coded paths for some views, to me this doesn't sound like a good practice to begin with -- that being said, I mostly program in Go these days (so I'm unsure if this is something that is pretty common in some frameworks or languages). The official solution is to use a subdomain, which I can't do -- I'm trying to route all services through a Tailscale Funnel (which only provides a single domain; I doubt that Tailscale Funnels where ever designed for this purpose, but I'm trying to completely remove Cloudflare Tunnels for my selfhosted services).

The other major problem I've ran into, is that HAOS assumes that you would have no need to run any other Docker services other than those that are add-ons or Home Assistant itself. Which, I'm sorry (not really), Home Assistant add-ons are an absolute pain to deal with! Sure, when they work, they're supper simple, but having to write an add-on for whenever I just want to spin up a single Docker container is not going to work for me.

Now, some smaller issues I've had:

  • There's no way to change the default authentication providers. I host for my (non-techie) family, they're not going to know what the difference between local authentication and command-line authentication is, just that one works and the other doesn't.
  • Everything that is "advanced" requires a workaround. Like mounting external hard drives and sharing it with containers in HAOS requires you to setup the Samba add-on, add the network drive, and then you can use it within containers.

Again, I still really love Home Assistant, it's just getting to a point where things are starting to feel hacky or not thought out all the way. I've considered other self-hosted automation software, but there really isn't any other good alternative (unless you want to be using HomeKit). Also, I'm a programmer first, and far away from being a self-hosting pro (so let me know if I've missed any crucial details that completely flip my perspective on it's head).

If you got to the end of this thanks for reading my rant, you're awesome.

you are viewing a single comment's thread
view the rest of the comments
[–] hai@lemmy.ml 2 points 9 months ago (1 children)

You make some good points, I've said a few times now that I mistook Home Assistant add-ons as traditional Docker containers (which I've learned the hard way is flat out wrong, you know what they say about assumptions).

First subdomain. I think HA is completely right that proxy with a subpath is basically an anti-pattern that just makes things worse for you and is always a bad idea (with very few exceptions).

I don't agree with the comment replying about how developers are lazy. That being said, I also wouldn't call a subpath an anti-pattern, it's not uncommon and I wouldn't say that it is always a bad idea (they have some pros and cons on subdomains and it's what my setup calls for).

As for your tunnel I don’t know how you’ve set it up and I haven’t used tailscale but them only allowing one domain sounds like a very arbitrary limit, is it something that costs money to add? I use NetBird which I selfhost on my VPS and from there tunnel into my much beefier home setup.

There's an open feature request for subdomains, but it hasn't really gone anywhere. I'm assuming that it must be how they handle SSL certificates.

As for authentication there are 10k plus contributors to Home Assistant yearly but very few bother to make authentication more streamlined. I would’ve loved OpenID/OAuth2 support natively but there are ways to do so with custom components and in the end I quite strongly feel that if the end-users of your smarthome setup (i.e. the wife and kids) need to login to Home Assistant then you’ve probably got more work to do. Remote controls which interact with HA handle the vast majority of manual interaction and I’ve dabbled with self-hosted voice interfaces for the more complex operations.

Yeah, I've seen the idea that Home Assistant shouldn't be the part you interact with several times, but I don't really know of any better things to handle this. None of us really love voice controls and I've toyed around with Google Home (but I think it's absolute garbage and self-host to get away from companies like Google).

I just suspect you’re making things harder for yourself and maybe have a strange idea around how to selfhost in general?

Not my ideas that are strange, I'd love to have a traditional setup. I've mentioned it a few times in other replies, I just don't want to be the "just look at my other replies" person, so here's whats going on: Starlink is my ISP (CGNAT; I can't port-forward), Tailscale is now my only way of accessing things off of my LAN (I didn't mind Cloudflare Tunnels, but Cloudflare scares me and Jellyfin is a pretty important thing and supposedly if you want to stream video you're not allowed/supposed to use Tunnels), my only device is an RPi4 (I've tried other devices, but I really love the simplicity of the Pi -- and also don't have many other devices that would work that good for self-hosting).

Again, I'd love to have a "normal" ISP (we live in the middle of no where) that lets me port-forward and is nice and something other than a Pi to host on, but this is what I'm stuck with.

Sorry if this came across as writing you on the nose, that’s not my intention.

It's all good I get where you're coming from, and I'm sure you understand what's going on for me.

[–] ninjan@lemmy.mildgrim.com 1 points 9 months ago

I think a VPS and moving to NetBird self hosted would be the simplest solution for you. $5 per month gives you a range of options and you can go even lower with things like yearly subscriptions. That way you get around the subdomain issue, you get a proper tunnel and can proxy whatever traffic you want into your home.

As for control scheme for your home automation you'll need to come up with something that fits you but I strongly advise against letting users into Home Assistant. You could build a simple web interface that interacts via API with HA, through Node-Red is super simple if it seems daunting to build the API.

If a RPi 4 is what you've got and that's it then I guess you're kinda stuck for the time being. Home Assistant is often quite lightweight if you're not doing something crazy so it runs well on even a RPi 3, same with NAS software for home use, it too works fine on a 3. If SBC is your style my recommendation is to setup an alert on whatever second hand sites operate in your area and pick up a cheap one to allow you to separate things and make the setup simpler.