But applications and features like immich offers are designed with the intention and scale of 1-4 users in mind, hence self-hosted. These same features at scale are not really economically viable imo. This goes for many things in the category of everything apps.
For example, running something like Plex in the cloud is unaffordable for more than 1-2 users with a library of like 100 movies depending on your provider. Youd be talking renting $10000 of hardware or more to host a plex machine for maybe a dozen users with a library of maybe 1tb of images.
When were talking external users the criteria changes. Hosting media now becomes an economic battle of
- How can I compress this shit as much a possible to save space on my server and keep costs and maintiance down
- How can I deliver this content with as little bandwith as possible to keep network costs down
- How can I keep the content cached and available as best as possible.
- How can I police content at the scale of 1-10000 users so I don't get in trouble
- How can I effectively load balance traffic without breaking the bank etc.
- How do I continually police bots hogging traffic and CU
Once you're talking more than just yourself, the architecture of your stack changes dramatically.