linux/self host newbies, now is a good time to get you a cheap server
Lot of sales for 4th of july (and ongoing ones) where you can pay $10-$14 for a YEAR of a small cheap VPS. Usually only has 1GB of memory, but that's plenty to play around with and learn. If nothing else, a good cheap ipv4 you can use for some port forwarding. There are lots of options, but I've used racknerd and ethernetservers which have been fine.
I have my own server at home, but I bought two small ones to start learning Ansible with in a risk free way. Eventually plan to redo my main server with a complete Ansible setup, really want to hop on that "infrastructure as code" train.
If you really want to self host and have good internet speeds, then just use a dynamic dns service to point a domain at your home network :)
It’s free minus the power costs. Sure you won’t be able to guarantee availability but for most personal(and friends/family) use it’s more than good enough.
I say this because the reason a lot of people use VPS is because their ISP won’t give them a static IP. You don’t need a static IP.
Yeah, but your speed is limited by the tunnel. My ISP has excellent upload speeds otherwise (140 Mbps).
I checked with my ISP, they said they will give me a static IP but it will cost around $15 per month along with my internet cost. I'd rather just get a VPS.
Seriously. Even better when they just turn it on one day without warning because they can’t handle building out infrastructure to suit their growing customer base. Bastards.
It doesn't matter how much you pay them.
When you signed the contract you accepted their Terms of Service. Of course they can dictate what they want, you are free to go and choose another provider.
One thing to look at if you're going this route is whether your router supports NAT loopback (a.k.a. NAT reflection or NAT hairpinning). This feature means that you can access your server via the external IP (and therefore via the ddns domain name) even from within your network. It's really useful for phones and laptops that might be on your home network at some times and off somewhere else at other times, so you don't have to change configurations on e.g. the Nextcloud client, or remember to type in different addresses inside and outside the network. Some routers just do this, some don't, some it's a setting you have to turn on. The router built into my ISP-supplied cable modem didn't support it so I got my own router and put the ISP one into bridge mode.
For people who don't like cloudflare, it's also possible to self-host your reverse proxy, using e.g. nginx on the front end, and rathole or frp for the reverse tunnel. I use ssh if I need a forward proxy too (so outbound requests don't come from my "real" IP) and that's not super ideal, but it works.
This is of course considerably more difficult than something that's point-and-click, but for me, using Cloudflare defeats the purpose of self-hosting.
I have built & rebuilt such a setup several times now and it gets better documented every time, soon I'll release a step by step HOWTO.