It really depends on how much you enjoy to set things up for yourself and how much it hurts you to give up control over your data with managed solutions.
If you want to do it yourself, I recommend taking a look at ZFS and its RAIDZ configurations, snapshots and replication capabilities. It’s probably the most solid setup you will achieve, but possibly also a bit complicated to wrap your head around at first.
But there are a ton of options as beautifully represented by all the comments.
I’ll add Pangolin to the list, it’s a self-hosted Cloudflare tunnel alternative.