you probably don't need a VPS


everyone these days talks about having a VPS as if it is the first step required to host anything. i get it — in a way — as telling everyone to just pay their way out of a problem is easier than offering them multiple options, but i don't think that people should feel like they have to pay a monthly fee to get started with self-hosting.

to start, you'll need some sort of computer. this can be an old laptop with a battery that doesn't hold a charge, that single board computer you swore you were going to use for something years ago, or anything else that can sit quietly in a corner being ignored. you could even just use your desktop, if you're feeling crazy. go ahead and install whatever you want to run on this machine, and you're done! you now have a "home server" and can hang out with the cool kids.

of course, you still need people to be able to connect to it. depending on your ISP, this may be easy or hard, so let's go over the options:

a nice ISP will let you use port forwarding to direct traffic to your newly minted home server. if your IP address doesn't change itself constantly all the time, you can get away without paying for a static IP either; just update your DNS records whenever your IP changes. you could also use a dynamic DNS tool to update said DNS records whenever your IP changes, saving you the effort.

now if your ISP sucks ass, and you can't forward ports at all, there's still options. if you're willing to put up with Cloudflare, you can use a Cloudflare Tunnel to direct traffic from the internet to your home server. if you truly can't stand Cloudflare, you can always pay for a tiny cheap VPS (or use the free tier Oracle has) and use something like Tailscale to connect it to your beefy home server.