This question has been answered. Please stop trying to repeat information that has already been said many times before. Everything in this thread is in good faith, I am here to learn, so I will make mistakes. Furthermore, if you want to contribute something new, please read the entire post to avoid misunderstanding the purpose of this post.
Selfhosting is useful when you either need a lot of storage or a lot of processing power. For example, Kiwix is useful to selfhost on a server because a lot of its content can take up terabytes of storage, which a phone may not have. LLMs are also useful to selfhost because they require a degree of processing power that, again, a phone may not have.
In both cases, there is also a need for perpetual access. If you simply hosted an LLM on your home computer, it wouldn’t be very useful to access from your phone since your computer won’t be running all the time. So, a separate always-on server is needed.
However, there are some selfhosted software that I don’t see a use for. For example, Immich. Immich requires to be run on a server to function, but a lot of (or even all) of its functions are things that could reasonably done entirely on-device. Aves combined with some automatic backup solution such as Nextcloud gets (from what I can tell) most of the functionality Immich offers. Obviously, some features like AI image tagging are missing, but you get the point. AI image tagging is also something that could be run on-device as well, since it’s mostly lightweight (iPhones are capable of it). Having a setup like that also comes with the benefit of automatic backups being completely optional, rather than required.
There’s no reasonable need for extra storage or extra processing power needed for that use case, from what I can tell. (Disclaimer: I haven’t actually used Immich before, so this is speculation. I apologize if I’m missing something obvious) There’s a lot of other selfhosted tools like spotDL which have a selfhosted web UI, but no GUI that can be installed outside of a web browser.
I guess my question is why there are so many selfhosted tools that unnecessarily require being run on a separate device. I do understand the legitimate use cases some of them have, but others seem better off on-device airgapped. This especially became an issue trying to find a notes app for Android that requires no account and runs fully locally, or an RSS reader that loads from the device itself. I found Joplin and Feeder or Read You as the software for each of those. I don’t like “server-based” selfhosting for things that could be done from the device itself.
I’m sorry if this turned into a rant. If someone could help me understand, I would appreciate that very much.
Cheers!
Edit: The comparison here isn’t between selfhosting and using a cloud provider. The comparison here is between selfhosting on a server and running explicitly on-device (besides where extra storage or processing power is required)
Answer
So that nobody has to dig through the comments for answers, this is what I’ve learned: In the case of Immich, its purpose isn’t designed to be a photo gallery. It’s designed to be a more polished backup solution, designed explicitly for photos and not general files. While Nextcloud could be used to backup photos, it’s not as focused on photos as Immich, and so it isn’t as nice to use for that purpose. Immich also allows you to share photos with a link, rather than relying on a cloud provider to do that for you. There’s also another benefit to selfhosting that I hadn’t entirely realized, which is availability across devices. Some things like an eBook library may not take up much space, but it’s convenient to not have to sync manually (or automatically) across devices, and instead access it from a central server. That same logic is true for RSS readers as well, since it’s inconvenient to manually add and sync feeds across devices. Syncing across devices can be done with something like Syncthing in some cases, but not all, and so that’s where selfhosting can be useful.
To me, the appeal is that my workflow depends less on my computer and more on my ability to connect to a server that handles everything for me. Workstation, laptop or phone? Doesn’t matter, just connect to the right IPs and get working. Linux is, of course, the holy grail of interoperability, and I’m all Linux. With a little bit of set up, I can make a lot of things talk to each other seamlessly. SMB on Windows is a nightmare but on Linux if I set up SSH keys then I can just open a file manager and type sftp://<hostname> and now I’m browsing that machine as if it was a local folder. I can do a lot of work from my genuinely-trash laptop because it’s the server that’s doing the heavy lifting
TL;DR -
My workflow becomes “client agnostic” and I value that a lot
I agree with this comment. As mentioned as answer in the post, to have a backup of these things is a big reason why I chose to selfhost. I had to switch devices (and operating systems) too many times. Moving data around everytime would be a hassle. To have all the important stuff not only stored but also organized and easy to access is very convenient and makes me stop worrying to accidentially lose my phone for example.
Thanks reasonable! That does make me realize how different my workflow is. My philosophy is compartmentalizing everything. What I do on my phone stays on my phone. What I do on my desktop stays on my desktop. What I do on my laptop stays on my laptop. I’ve never really had the need for anything more until now. Then again, I’ve also never had the resources to selfhost until now.