this post was submitted on 27 Jan 2025
83 points (82.7% liked)

Selfhosted

41448 readers
641 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 2 years ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] Owljfien@lemm.ee 1 points 4 hours ago

I've been meaning to look into Immich for the express purpose of dropping nextcloud. I actually hate nextcloud because its a bloated mess that does many things ok instead of one thing well. I just want to auto backup photos and files from my phone, but the android app sucks and locks within a microsecond of trying to do any kind of multitasking on phone.

[–] grue@lemmy.world 1 points 4 hours ago

Thanks, I now also understand the purpose of Immich because of this post.

[–] uninvitedguest@lemmy.ca 21 points 11 hours ago

Oh man. Of all the self-hosted projects to not grasp, you picked the darling.

The creator of Immich had the same use case that got me in to self hosting:

  1. A new family with child.
  2. A whole lot of photos and video to share between the spouse and with extended family.
  3. Ballooning Google (One) photos costs, to which I asked: am I going to pay this forever? Storage also caps out at 2 tb, which we are using more than.
  4. A growing discontent with the idea of every family moment being harvested by a tech company I do not like.

At the core - Immich allows me a continuity of service and saves money while keeping spousal approval at the required levels.

[–] traches@sh.itjust.works 13 points 15 hours ago* (last edited 15 hours ago) (1 children)

I have 113k images going back two decades. The screenshot above doesn't include RAW files, with those included I'm around 2 terabytes of total storage.

  • Immich is in fact a photo album, and a damn good one at that.
  • Immich keeps google's grubby paws off my photos. I don't need or want anyone datamining every precious memory I have in order to modify my behavior to their benefit.
  • Immich shares photos between my wife and my phones.
  • Immich ensures that if I lose my phone, my photos aren't lost.
  • Immich lets me easily re edit and re-export RAW files without creating duplicates or losing metadata
  • Immich lets me conveniently share photos with friends and family without requiring them to have an account anywhere.

Mostly I self-host things when I want data synchronized between multiple devices, or I don't want to lose it in the event I lose the device it was created on.

Also, like, phone screens are tiny and typing on them is terrible? Why would you want to do everything on your phone?

[–] boonhet@lemm.ee 4 points 8 hours ago

Ooh I found the only other person who still prefers a mouse and keyboard it seems, going by the current trends and how much I hate them anyway

[–] sxan@midwest.social 3 points 12 hours ago (2 children)

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

And you don't share your photos with family, friends, or the public? Or is your sharing solution to spam people with MMS text messages?

Obviously, some features like AI image tagging are missing, but you get the point

No, I don't. If Immich provides a feature your phone doesn't, then it's not a good example of something that doesn't need to be self-hosted.

But let's talk about this.

I change phones every few years (as infrequently as I can, but until Framework starts making cell phones my options are limited). I've had cell phones break. I haven't yet lost one, but I can imagine it happening. Keeping all of my eggs in one easily broken, easily lost device over which I have increasingly less control sounds really stupid. But we can back the phone data, and that doesn't require self-hosting, as you say.

So when does self-hosting make sense? For me, it comes down two cases: (1) data sharing, and (2) multi-device use. The first one accounts for maybe 80% of my self-hosting. I really hate cell phones as computing devices. I hate typing on them, their absurdly small screens, and limited app selections. So my other case for self-hosting is so I can do most of my work on a desktop or laptop, yet still have access on a phone when I need to. Oftentimes, there's no mobile app for the data I want to access, or there is but app developers are using some stupid bespoke data format that nobody rose uses; so be self-hosting, I can get at and interact with that information from not only my mobile device, but from any device. I can borrow my wife's laptop if I didn't being mine; I can borrow my BIL's desktop when we're visiting them. I'm not forced to use a tiny screen and crappy hunt-and-peck on screen keyboard on my phone.

I'm interested in other examples you have; it sounds as if many self-host solutions perplex you, beyond Immich - what are they? I'm honestly curious. We know Immich adds value (for some people) through AI tagging, and that alone justifies self-hosting Immich for those people. What other software do you think it's silly to self-host?

[–] tabular@lemmy.world 1 points 10 hours ago (1 children)

Have you considered Fairphone 5? Might not compare to modern phones but it's very repairable.

[–] sxan@midwest.social 1 points 6 hours ago (2 children)

I did look at that one! Specifically for the non-Android OS support. I'm really interested in trying SailfishOS, but if one of the Linux-based mobile OSes works reasonably well (my issue in the past has always been terrible battery life), I'd be thrilled.

Do you have one? Of so, which OS are you running? How do you like it?

[–] tabular@lemmy.world 1 points 1 hour ago* (last edited 1 hour ago) (1 children)

I came from a ~10 year old phone so FF5 was a big upgrade. Battery lasts the work day (may go from 80% to ~50% or ~30% mostly playing bluetooth audio for like 4 hours on and off). Fairphone uses some industrial chip instead of a mobile one - so it uses more power but they say it can get much longer updates than other phones. I usually have the screen set to 60Hz to save power, but a cheeky 120Hz session feels great. One bug is I can't charge it in power save mode.

I got standard Android but replaced the proprietary store/apps (updates still requires Google Pain Store). I planned to try out an Android fork later but that's was not as easy as I had naively thought. [Requires an SDK binary that come with non-free license and 3rd party guides to build it myself were rather dead].

I not aware it could run non-android OS - do you have exp installing a Linux phone OS? How did you find that? I'll have to look into FF5 compatibility.

[–] sxan@midwest.social 1 points 34 minutes ago

Thanks for the info!

I just went looking to see what it ran and found this forum, which has a pretty comprehensive list.

I didn't have much trouble getting Touch on a really old Pixel, but the battery runs down in 3 or 4 hours so I didn't do anything with it. That's probably more to do with the age of the phone than the OS.

[–] cyberwolfie@lemmy.ml 2 points 3 hours ago (1 children)

I run CalyxOS on FP4, and I like it. It also has FP5 support. As far as I know, mobile Linux distros like postmarketOS work on (at least) FP4, but key phone functionality is lacking. There's a functionality matrix on their wiki.

[–] sxan@midwest.social 1 points 30 minutes ago

That's what's been stopping me; it has to at least be a decent phone, and it sends as if there's always something.

Touch is supposed to run on the FP5 - I guess I need to find a functionality Matrix now.

[–] Charger8232@lemmy.ml 0 points 9 hours ago (1 children)

And you don’t share your photos with family, friends, or the public? Or is your sharing solution to spam people with MMS text messages?

If I need to quickly show somebody a photo, I'll physically show them by pulling it up on my phone. If I need to send photos to someone, I'll send them using a preferred messenger such as Signal. It allows you to send up to 32 images in a single message. If I need to send images to multiple people, I can send it in a group text or select multiple people to send them to at the same time.

No, I don’t. If Immich provides a feature your phone doesn’t, then it’s not a good example of something that doesn’t need to be self-hosted.

The point is that everything Immich offers is something that could be run entirely on-device. While AI image tagging isn't currently available for alternatives, I'm upset that Immich requires a server instead of making it optional and letting you do image tagging on-device.

I’m interested in other examples you have; it sounds as if many self-host solutions perplex you, beyond Immich - what are they?

What I missed in my initial post was availability across devices. So, something like Vaultwarden would have been useless by my criteria. I have two independent KeePass databases. One exclusively for desktop accounts and one exclusively for mobile accounts. I want to compartmentalize those, so I have no reason to selfhost Vaultwarden. As I've learned, Vaultwarden and other software is useful because of availability across devices.

[–] sxan@midwest.social 1 points 7 hours ago

Ok.

I agree about KeePass. Self-hosted password store satisfies neither of my constraints. I'm (1) not sharing my credentials with anyone, and (2) SyncThing satisfies replication across devices. On top of both of those, in this particular case not self-hosting a server is added security, as my key store is never exposed on a public server. It helps that both KeePassXC & Keepass2Android's DB merging and conflict resolution is outstanding.

I have, however, been contemplating getting myself a YubiKey, b/c my life gets a little harder of I lose my phone while traveling. I'd have to go through several steps to get into my home LAN to get passwords out of my kdbx, one of which involves a VPN secret key I don't have memorized.

Anyway, yeah, I agree about that one. Publicly hosted password stores are not only unnecessary but - IMHO - kind of a stupid idea. Talk about maximizing your attack surface.

[–] ShortN0te@lemmy.ml 3 points 14 hours ago (1 children)

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.

How would you backup Immich on device?

And if you backup to Nextcloud than you already have a served?

So you are arguing that having a file server is enough? And processing is done on client side?

That would be in this case very inefficient.

  1. You would need to have all the data on the Client or transfer all the data to the client once you load it.
  2. You device has to do all the processing which would lead to lower battery life.
  3. How do you handle multiple Users? Giving partially access to the Filesystem?

I could come up with other points but this should give you an idea. Yes, for some use cases a server-client approach does not make sense but for a dedicated photo backup and indexer it absolutely does.

[–] Charger8232@lemmy.ml 1 points 9 hours ago

I agree with this comment, it has very good points.

You device has to do all the processing which would lead to lower battery life.

The way iOS does it is it will only process it when your phone is plugged in and idle (e.g. when you're asleep at night).

[–] hendrik@palaver.p3x.de 3 points 15 hours ago* (last edited 15 hours ago)

I think collaboration is another thing that's missing in your answer. Of course synchronization would be one main thing for me to use a photo gallery or note taking app across devices, since I'm often accessing stuff from my phone and my laptop. But I also like to share photos with my relatives and friends, I have shared calendars with my wife to organize our lives. I collaborate on projects and collaborative edit text documents. And sometimes I keep notes and small snippets on technical details mainly for myself, but also share that with the internet, for other people to learn how to install some software or customize it to a niche use-case. And while some of that could be done by separate applications as well, I often use one generic self-hosted platform and have that do everything, disregarding if some of the job doesn't really need the features. It's a balance. I'm also sometimes wasting resources and in the end I realize I never needed a self-hosted solution and I would have been better off with a simple and local phone app.

[–] ahal@lemmy.ca 13 points 21 hours ago (1 children)

Lots of people mentioning collaboration / multiple users, yet all your replies seem to completely ignore this aspect. I'm guessing you might live alone and are struggling to imagine some very common use cases here.

[–] tiz@lemmy.ml 3 points 20 hours ago

Agreed. Do I expect my mom to manually plug in the usb flash? She ain’t have slightest idea of what a file is. Same goes for Nextcloud everything and Syncthing. Setup and done is Immich. The lead dev of Immich explicitly mention his motivation was to make it easy to backup and share pics with his wife and child.

[–] mhzawadi@lemmy.horwood.cloud 8 points 19 hours ago

What you have missed is the ability to run what ever you need, self hosting is more then just backups and sync.

Some self hosting to self reliant, nextcloud can do way more then just file sync. For example I use it for calendar and contact sync, photo and file backup from my phone, an office suit, RSS server.

[–] MeepMorp@lemmy.world 34 points 1 day ago (5 children)

I think the point with all of these is that they are "cloud"-based. Except instead of the cloud being someone else's computer, it's your own. Let's take Immich, for example. Sure I could keep all my photos on my phone. But what if I lose or break my phone? What if I have an actual camera with an SD card and I want to offload those photos? Self-hosting lets me keep a backup. I can set up a server with redundant drives that itself backs up to a server in another location with its own separate drives. Thus, I have my own safe cloud storage.

load more comments (5 replies)
[–] Strit@lemmy.linuxuserspace.show 4 points 16 hours ago

A reason I self-host stuff is privacy. When I host my data it's my data. It's not owned and kept by a billion dollar company somewhere, that is willing to sell it to make a quick buck.

So it's my way of making sure that my data really is my data and that it is only shared with those I want to share it with. Some applications require a server component to achive this (eg Immich), so that's why I self-host those.

[–] drkt@scribe.disroot.org 21 points 23 hours ago (2 children)

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:// 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

[–] schmurian@lsmu.schmurian.xyz 4 points 20 hours ago

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.

[–] Charger8232@lemmy.ml 4 points 23 hours ago

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.

[–] SolarPunker@slrpnk.net 9 points 21 hours ago

I think selfhost is more useful in a multi-user scenario, for my personal needs I also love Syncthing.

[–] mystik@lemmy.world 15 points 1 day ago (4 children)

I use Immich because I have multiple devices and multiple people uploading photos to it , so we can all organize together.

Self hosting anything also gives you a lot of practice and experience (and confidence) to also self hosting anything for others, an important skill for many to have in order to have a more distributed internet.

load more comments (4 replies)
[–] poVoq@slrpnk.net 13 points 1 day ago* (last edited 1 day ago) (2 children)

In your example Immich is an alternative to Nextcloud that is more specialized. If you already run a Nextcloud there is no real need to run Immich indeed. But in reverse you might not need all the features Nextcloud provides and Immich would be a more streamlined alternative for sharing and storing images.

[–] Charger8232@lemmy.ml 3 points 1 day ago (1 children)

If every app had their own selfhosted backup solution, it wouldn't be very convenient. I'd think it better to run Nextcloud to back everything up than to deal with setting each backup solution up individually. Is there a major benefit to Immich that I'm missing?

[–] poVoq@slrpnk.net 12 points 1 day ago* (last edited 1 day ago) (2 children)

If all you need is a photo backup solution (and for many people that is true) then Immich is a far more polished and less janky option. Nextcloud is a typical "jack of all trades, master of none" type of software.

load more comments (2 replies)
load more comments (1 replies)
[–] Konraddo@lemmy.world 7 points 1 day ago (5 children)

There are three reasons that I can think of:

  1. Privacy
  2. Collaboration
  3. Accessibility / cost

Privacy. This is obvious. People don't want their private information to be sold by corporations or scraped by AI.

Collaboration To share information with others, while maintaining point 1, people have to self host. Say, you want to archive a bunch of photos for personal viewing then you can store them anywhere you like. But if you want to share them with family, a self hosted solution is the way to go.

Accessibility / cost People want to do things for free. Many applications offer free version or demo, but features are often limited and you can't really customize them to your own needs. In addition, applications often adopt a subscription model these days and people don't like that.

load more comments (5 replies)
[–] Retro_unlimited@lemmy.world 3 points 21 hours ago* (last edited 21 hours ago)

The appeal for me to use immich is the AI search.

I have over 100,000 photos I have taken. I can do a search of “blue sky with pink clouds and a moon” and it will show me the photo I want.

The way I did it before would take me 2-3 days of looking at every photo one by one to find that photo.

The other benefit of the server is I can access all these apps from my laptop, phone, desktop, or using my VPN from anywhere in the world.

[–] DefrostedTuna@lemmy.world 4 points 1 day ago (1 children)

I agree that self hosting is useful for things that require lots of storage or processing power, but there are more reasons to self host than that. For me, it's more that I want control of certain services, and that I want a central place to manage them from. For example, I personally host an Immich server on a local rig in my home along with a number of other services that don't require enormous amounts of storage or processing power.

Home Assistant, Jellyfin and the Arr stack, Audiobookshelf, Koel, Immich, etc. Things like Jellyfin require large amounts of space, sure. But things like the Home Assistant, Arr stack, Audiobookshelf, and Koel are more for convenience than anything else. Going back to the Immich example, this provides me with a way to centralize my family's photos while on our local network, or a VPN, and allows us to share them publicly with others using explicit links. It keeps our personal photos out of the corporate cloud and provides mostly the same functionality as though I were using an alternative mainstream product. That and if someone yeets my phone into the ocean for some reason, I still have all my photos.

Having explicit control of these services and the underlying content is probably more of a reason to self host than anything else for me. S3-type bucket storage and spot processing power is relatively cheap these days. Privacy and control is not.

load more comments (1 replies)
[–] ocean@lemmy.selfhostcat.com 4 points 1 day ago

They’re meant to be run on a local server ie whatever other computer you have that runs 24/7

[–] BaroqueInMind@lemmy.one 3 points 1 day ago* (last edited 1 day ago) (1 children)

In immich I can open the world map and select photos i took in Hungary and Colorado without having to manually tag and manually locate them, and I have thousands of photos (hundreds of gigs of videos backed up from my phone as well) from the last 25 years taken across the world and can do this seamlessly by simply uploading them and having my server run a heuristic to automatically do this from the photograph metadata, and then proceed to share them with a self-hosted link to my spouse to enjoy.

Can I do this with NextCloud or on my phone without killing the battery?

[–] Charger8232@lemmy.ml 2 points 1 day ago (1 children)

Can I do this with NextCloud or on my phone without killing the battery?

I suppose not. That's a fair point. Although I will mention, if your camera supports it, location metadata can be embedded automatically. Aves and many other gallery apps support viewing photos with location data on the map.

load more comments (1 replies)
[–] atomicpoet@atomicpoet.org 3 points 1 day ago

@Charger8232@lemmy.ml I run my own server for a simple reason: it means owning my social media presence.

I own my content, my audience, and who I federate with.

[–] zoostation@lemmy.world 2 points 1 day ago (7 children)

Why would you need a home server in addition to your day to day desktop computer? I leave my desktop on at all times because it's a Plex/ErsatzTV server, HomeAssistant server, web server for various utilities I've written, etc. It works great.

load more comments (7 replies)
load more comments
view more: next ›