freeing yourself from your dependance on big corporations
Setting up a VPS with Ubuntu Server
This shouldn’t exist in the same article lol. You will just end up paying in subscriptions anyways while at the same time maintaining all the stacks — that too on Ubuntu where some articles will become useless after a few updates. Even 10$ a month will result in $120 every year — which can buy you a half decent second hand PC or a new Mini PC. You won’t even own your data when you rent a VPS.
You will end up saving a lot more by self hosting on your own hardware with vanilla Debian and be more independent at the same time. You will only need a VPS if you want to self-host your own reverse tunnel like Pangolin or FRP.
If it works for you then great. But it doesn’t stand with your goal of Corporate Independence and Willingness to Learn — Given that it is slightly easier to setup than Vanilla Debian. But at the end of the day it is just Corporate Debian with more up-to date packages but overall less stable than Vanilla Debian.
It really won’t be much unless you’re gonna go for extremely beefy hardware like for Jellyfin hosting hundreds of newer codec 4k files with HDR and shit with dozens of users or some LLM — which anyways still would be cheaper than renting a VPS. Otherwise even a Raspberry Pi can do a decent job or even a mini pc (with something like Intel N100) which draws less power than a Mobile Phone charger. It also aligns with the idea of beginner friendly setup than using a VPS which half the people will even skip reading the Terms & Conditions and Privacy Policies. So hosting something like Immich or Nextcloud, which is not encrypted at rest, is pretty much available for the VPS provider at instant.
You don’t need a public IP to self-host. A beginner should start with private at first, learn from there and gain and grow otherwise it can lead to security risks — e.g you have mentioned to self-host Immich which doesn’t have any native 2FA. The self-hoster then will have to know about SSO based logins to secure instances like these.
You also have Cloudflare Tunnel, Tailscale. Or you can use a 5$/month VPS in this instance to self-host Pangolin with Crowdsec for public access and block malicious or suspicious IPs. All of these options will mask your real public IP.
Ok but this asks for a lot of upfront investment. You don’t need to buy a domain or a VPS as a beginner (or even a mini PC as I mentioned). Just start with a PC or a Laptop you already own. Host the service and access it via private IPs instead of handholding them to copy and paste commands, configs and compose files from the internet (although you do have mentioned official documentation so kudos for that) just for the convenience of public access. A lot of people don’t know the 3-2-1 backup rule. One error might wipe off their entire Immich Library, Password Vaults or important documents in Nextcloud.