Let me preface this with the fact that I don’t like Apple, or any major corporation for that matter.
So, my family (including myself) have been long-time Apple users, heck, we still have our iPad 1 and a few iPods lying around (and they still work great).
But, we’re all starting to loose trust in them. Most recently there was a problem with a screen that simply seemed to have lost touch sensitivity, it still would move ever so slightly but taps weren’t recognized and slides no longer worked, and Apple really only helped by guiding us to a new phone. Before that, a MacBook Pro’s (and yes, I know it’s not an iPhone) battery flat out died, after being replaced a year or two ago for the the same problem _by Apple_.
Also, I’m even not tech illiterate, I know I can replace the battery and likely get it working again after some calibration and tinkering — but it’s just not worth it. The family enjoys them for their simplicity and how they “just work” but mine (and the person with the MacBook’s) confidence is swayed.
One of the biggest problems for me is that error messages are rarely useful. If a message fails to send or iMessages it doesn’t tell you details or even a Microsoft BSOD error message that we’d make fun of for their lack of usability many moons ago, it’s just failed to send and you’re supposed to accept that it simply doesn’t work.
So yeah, I see where you’re coming from.
Edit: I’d like to say I’m on an iPhone 8 (stuck on iOS 16) and haven’t had too many problems personally. I think most of the issues are in iOS 17 or the newer firmware versions, but I do feel that the quality has gone downhill recently.
It’s actually not uncommon for icons (and occasionally animations) to be loaded as fonts. This is why if you force your web browser to only display a certain font and go to certain websites they display strangely, or just have slightly broken loading screens.
On the web this is (mainly) for optimization. If a website has a few icons there is no problem with loading a few SVGs, or (if there is a very small number) raster images can get a pass. Although, if you’re building an application with a large number of icons (think most hyper-interactive data-driven sites) for every SVG you load that is (unless embedded directly in HTML) a single HTTP request, computers (generally, in most cases) take longer to complete several smaller operations than one big one — these means that compiling your icons into a font is much more optimized than loading them individually.
Now, considering this is Windows (where they don’t particularly seem to care about heavy optimizations and fine tuning) I’m sure it was just easier for them to write a single thing that renders a font instead of something that renders a font and another thing that renders images/animations.
I have 22 apps in total, including system apps, and excluding Apple apps (I have an iPhone) I have 15. I think about 9 of my apps are open-source, so…
If you count the Apple apps: 9/22 = ~0.409 (~40.9%).
If you only count non-system apps: 9/15 = 0.6 (60%).
I do plan on getting rid of some apps soon though, so it’s subject to change.
Edit: Fix formatting.
It’s actually an antipiracy method.
Have you tried Asunder for CDs?
Not currently running a VM or anything, but I might need to set one up for iTunes and Garmin stuff.
My first thought was The Long Dark.
Seems like you have some limitation (I really don’t know tailscail funnel) in your setup, and now you expect them to work around it.
Sub-paths are actually a fairly requested feature for Home Assistant. Although, they have a limitation of hard-coded paths, which they now expect us to work around. I'm actually fairly okay with that, they're programmers who (a number of) work for free, with the exception of the few apart of Nabu Casa, and they've already exceeded my personal expectations it's not like I deserve any features, but they also don't deserve me to love 100% of their design decisions.
Yes, HAOS is great when you have one dedicated machine for it, for example a RPi. That’s the whole purpose of HAOS, as far as I understand.
I've admitted this already, but I seem to have totally miscalculated the ability of HAOS add-ons, and treated them like traditional Docker containers. This was my bad, and I learned the hard way, but at least now I know.
If you already have a zoo full of docker containers, then you want your Home Assistant (without HAOS) in just one more of your own containers.
I'm far from a zoo keeper. Once I setup everything on RPi OS again I'll have just a few things for media (Jellyfin and a fork of Gonic, at least until my PR gets merged), Vaultwarden, and a home automation service (which may or may not be Home Assistant -- if I can figure out a decent way of exposing it) I less services being hosted when I was on HAOS.
I largely agree with this, but (and this might be me being a little paranoid) I don't really trust anyone to handle my data like that. I self-host as much as possible to get away from things beyond my control, I understand that this is an extremist view of things, but the only reason why I use Tailscale Funnel is because the family would either not know how to, or not want, to deal with a VPN like that.
Yeah, I've already ditched it. That being said I now understand who it was made for, and it's not me.
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.
I’m running HAOS and Docker in two different VMs on Proxmox, and it’s working fine for me so far.
So, I think I've mentioned this in another reply, but, I have a very minimal setup. It's a RPi4 as the main device, Starlink as the ISP (CGNAT; no port-forwarding), and now Tailscale as the only way to access outside of my LAN. I agree that HAOS meets it's primary job of running Home Assistant. Although, I don't have the option to run Proxmox (at least I've never seen anyone run Proxmox on an RPi) and also have a massive music library (and soon a large movie and TV show collection, once I rip all of those DVDs) so I really only need to run a few things:
- A dashboard to make accessing the services easier for the family.
- A reverse proxy to handle subpaths (this used to be Cloudflare Tunnels with subdomains and NPM with subpaths, now it's just Nginx).
- Tailscale (to expose services and run a VPN to get past the CGNAT).
- Jellyfin (for TV shows and movies).
- A forked version of Goinc (I have a fork with LDAP support, there's an open pull request for it, but it needs a little extra work; this wasn't ran on HA).
- Something to run LDAP authentication.
- Some Home Automation software (was Home Assistant, I migth switch to something else).
Edit: I also run Vaultwarden.
I've really scaled things back since previous self-hosting journeys, and when I first started with HAOS there was even less going on, and really I need things to just work. I'm learning now that my mistake was assuming that HAOS add-ons are supposed to behave just like a Docker container, they're not. I've learned the hard way, but, I still don't love HA's attitude towards something that are deemed "complex," such as sub-paths and alternative authentication providers.
I'm on RPi OS now.
Still no subpaths, changing default authentication providers, and there can still be workarounds that feel hackish (I've used HA is a container before) the difference is that you'll do less in Home Assistant, so you avoid them as much as possible.
Strip prefix won’t work if the frontend expects to find paths at absolute locations. You would need to patch the html, css and js on the fly, which is somewhere between ugly and (almost) impossible.
This is what I've seen would be the only "feasible" way of getting HA to work behind a subpath, in my opinion this only works for very small application though (not something as complex as Home Assistant).
I prefer docker because it is comfortable for me and I run all my services on one server, but it is indeed a bit less easy.
Reading all of these replying I'm starting to think that maybe my problem was assuming that because add-ons are Docker container they should be treated as such.
Yeah, that's why I finally ditched it, (I said this in another reply) but it was intended to be something the family could figure out if I wasn't available or something did happen to me. There's no way they could figure all of that out, doubly so with everything that felt "hackish" just to get Home Assistant and Jellyfin running.
I'd rather them have a usable experience now, that I setup with the least amount of hacks and cloud services. I know it's kinda weird and an unhappy reason, but it also (hopefully) will make my life easier.
Yes and no. If you want a really simple setup HAOS add-ons are amazing, but as soon as you want to run something someone else hasn't created a container for you're stuck doing extra work than just writing a Dockerfile
or docker-compose
. Plus, you can't setup networks between them and (as mentioned in the original post) sharing drives can be hackish as well.
The (grim) reason had I tried HAOS was because of the promise of something really simple that my family could figure out if something ever happened to me.
I'm (currently) on Raspberry Pi OS (as I need something that "just works"). Home Assistant is running in Docker like everything else.
A lot of apps use hard coded paths, so using a subdomain per app makes it much easier to use them all. Traefik has middleware, including stripPrefix, which allow you to strip a path prefix before forwarding the path to the app, though - have you tried that approach?
I should've mentioned this, but I'm using Nginx (I really enjoy the simplicity of just having to add a section to a file whenever I want to add something). Before running HAOS I was running RPIOS again and used Traefik, it worked (but felt like a lot more work to setup than just a plain Nginx setup).
Edit: I forgot to mention, but there are things like stripPrefix
for Nginx, I'm going to look into them. Although, this is what I meant, when you start to do things that are "advanced" with Home Assistant they turn into "hacks," and the barrier for advanced things feels a lot lower than with other self-hosted services (and I get that Home Assistant is very complex under the hood, it's just frustrating).
I am a happy openHAB user for 5+ years. Have you considered switching to see if you like it?
I actually have considered it, and I'm still thinking about it.
I run stuff locally and can connect over VPN to my home and operate as if I am inside the home. I have not looked into these other cloudflare tunnels or tail scale as I don’t think it would provide any advantage to my current setup.
I have a strange setup. My ISP is Starlink (so I'm behind a CGNAT), meaning I kinda need another service to access them outside the network, but (as mentioned) I mainly host for my family who wouldn't know how to work another app or VPN.
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.
Try to avoid duplicates, keep it interesting.
I started fairly recently (probably somewhere between nine and seven years ago; time isn’t my strong suit, cut me some slack) on Debian. Now I’m on Arch Linux.
I started with @beta@mas.to on 2022-04-25, what about all y’all?
After discovering Tomb, and a few personal issues with it, I decided to write a very similar program that doesn't require root access and compiles to a single binary: Graveyard.
Additional information and source code: GitHub.
Also, sorry about the ugly terminal colors, I recently just switched to Artix and haven't gotten around to making everything look amazing.
Edit: Cleaned up some stuff
Title says it all. I'll go first:
I don't really have any on my computer (all I use that for is Vim, Firefox, and Git), but on my phone: Orbot (basically Tor as a VPN on your phone).
Edits: Added link, fixed formatting