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.

  • Uninvited Guest@lemmy.ca
    link
    fedilink
    English
    arrow-up
    21
    ·
    4 days 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.

  • MeepMorp@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    ·
    4 days ago

    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.

    • The 8232 Project@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      11
      ·
      4 days ago

      Sure, and I agree backups are important. I still don’t like that Immich requires another server to function in the first place. It would be difficult to recommend Immich as a gallery app to someone who doesn’t have experience in selfhosting. I personally backup my phone to my own USB stick every few days or so, that way if my phone is ever lost or stolen I still have a backup without the need for a server.

      • vividspecter@lemm.ee
        link
        fedilink
        English
        arrow-up
        8
        ·
        4 days ago

        I personally backup my phone to my own USB stick every few days or so

        Is that automated? It sounds kind of tedious, and it would be easy to lose data if something goes wrong in between those few days.

        Some of the motivation behind self hosting is that there is one source of truth that is easy to manage and make backups for (a server or servers). Android backups in particular are kind of notoriously fragile (especially if you’re avoiding Google services) so it’s simpler to have the data stored on a server. Then I can wipe or lose my phone with impunity without really worrying about losing data, because it’s handled elsewhere.

        Nevertheless, you might like the idea of local-first software which is kind of a hybrid between local only software, and self-hosting (or cloud hosting).

        • The 8232 Project@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          2
          ·
          4 days ago

          Is that automated?

          If I left the USB stick plugged in constantly, but then it wouldn’t be very useful I guess.

          I’ve only recently started selfhosting on my own, so I am still quite new.

          Nevertheless, you might like the idea of local-first software which is kind of a hybrid between local only software, and self-hosting (or cloud hosting).

          I’ll check it out, thank you!

  • HybridSarcasm@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 days ago

    OP says the question has been answered. Locking the discussion so they don’t have to suffer through any more repeat information.

  • traches@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    4 days ago

    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
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 days 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

  • ahal@lemmy.ca
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    4 days ago

    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
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 days 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.

  • mystik@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    4 days ago

    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.

    • The 8232 Project@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      4
      ·
      4 days ago

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

      Would something like Syncthing work for this instead?

      • DefrostedTuna@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        4 days ago

        I personally use Syncthing for backing up gamesaves to my home server and it works great. While it would technically work for this application, it would be significantly more work to set up and maintain for photo management than just kicking up an Immich Docker container. Go check out their docs if you haven’t already, it’s pretty sweet how easy it is to manage stuff with Immich

      • mystik@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        I also use syncthing. And it works pretty well. There is some turmoil with the android version in light of changes so the underlying sdk. And I am not sure there is an iOS syncthing that would work as well. I actually use it primarily to sync my keepass databases, and before Immich, my photos.

        The photo management Immich brings makes it a nice alternative for that use case, but either way I need to have one or more servers elsewhere managing storage so I can get things off of my phone into a system I can control.

  • Strit@lemmy.linuxuserspace.show
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 days 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.

  • grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

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

  • Konraddo@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    4 days ago

    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.

    • The 8232 Project@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 days ago

      I mentioned in the edit: I’m not asking why things should be selfhosted instead of run on a cloud provider, I’m asking why things are selfhosted on a server that could be run entirely on-device. The latter I argue provides more privacy and less cost. Again, there are some cases as I mentioned in the post where selfhosting on a server is useful (storage or processing power), but I keep seeing a lot of server-based selfhosting that could instead be run on the device itself.

      • catloaf@lemm.ee
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 days ago

        I have two devices. How do I view photos from both, together in one library, without running something like Immich on a third device?

        • The 8232 Project@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 days ago

          That’s a fair point, and I don’t suppose Nextcloud or Syncthing would be quite as useful or as designed for photos. Thank you for helping me understand!

      • Konraddo@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 days ago

        To answer your question, most people don’t have just one device. Do you have only one device? You must have at least a desktop computer and a smartphone? What if you want to have something stored in your computer when you are not at home?

        Music for example. If I don’t want to pay Spotify or whatever, and I want to listen to my music on my phone at work and on my computer at home. Other than making two full copies of the entire music library, I think I have to store them on a 3rd location then share it to my two devices.

        If I don’t listen to music at home, then you’re right, there’s no reason to self host anything. I can just store all songs on my phone.

      • Lem453@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 days ago

        The purpose of most of these apps is to be able to use them on multiple devices. If I had immich entirely running on my phone (this is not actually feasible regardless) how do i access my images from my computer.

        Also many people have multiple users. A family could have all their images on one immich server and be able to share images with each other easily.

        On jellyfin for example, I can play any of my media on someone elses TV as long as they have Chromecast. Not possible if its all just kept locally in a folder on a computer

  • Retro_unlimited@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    4 days 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
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 days ago

    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.

    • The 8232 Project@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      4 days ago

      and allows us to share them publicly with others using explicit links.

      That’s something I hadn’t considered. I’m somewhat used to everything being completely local, no exceptions. It’s why I started selfhosting so late, I never saw much of a point to it. I also don’t feel completely comfortable opening any part of my home internet to the public, but I’m sure there’s safe ways of going about it.

      Another bias of mine is having a lot of compartmentalization. For example, none of my desktop account credentials are stored on my phone’s password manager, and vice versa. If one device is compromised, I want to isolate the risk as much as I can. That also means that if I were to ever set up a movie library, for example, I would want to keep those isolated per-device as well.

      Backups are a bit of a special case. You can either selfhost an automatic cloud backup, or use something simple like a USB stick you manually backup to. Besides that, though, I would argue you maintain more control over software that doesn’t rely on an external device to begin with. I gave examples, such as Aves, Joplin, or Feeder. If those are on my phone only (and properly backed up), I maintain full control knowing that I don’t need to rely on my own server at home to manage the data that I have in my pocket.

      This has helped me see some new benefits of selfhosting, though. I’ve spent my whole life without a SIM card, so it isn’t always easy finding a network (especially a trustworthy one) to connect to on the go to connect to my server with. Even in the moments I could connect to a network, they had heavy censorship (blocked VPNs and certain IP addresses). That’s why I like having everything on-device.

  • Owljfien@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days 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.

  • ShortN0te@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    4 days ago

    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.

    • The 8232 Project@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days 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).

  • ElectroVagrant@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    4 days ago

    Appreciate this post OP, as I’ve wondered similar at times when not wanting to fuss with another machine for self-hosting (as often it’s not the case that I could run the server software on my main system).

  • zoostation@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days ago

    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.

    • The 8232 Project@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      4 days ago

      I’ve made a point not to perpetually leave my home computer on simply because frequent restarts are healthy for it. Another reason is compartmentalization. I would want to keep my selfhosted server separate from where I game or browse the internet, if at least to keep it more secure.

        • The 8232 Project@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          4 days ago

          Both. If your hardware isn’t designed like a server to run 24/7 it can be unhealthy for it, especially if it isn’t properly maintained. It can cause wear to it. As far as the OS, restarting is good to clear caches, fully install some software, and keep the system sanitary overall.