I think you not start at home. That "last mile" of connectivity is fraught with challenges of dealing with your internet provider and all sorts of other things. It can be a headache, and it's very particular to your situation, and your provider. If you start "self hosting" on a cloud based instance, all that you learn in doing so will carry over to when you finally are able to move everything to a machine in house. I…
I would say this, but first the exact opposite of this…
Run your own entirely local copies at home first. Then, when you are comfortable that you can set things up right, and you understand their security (setting up user accounts, handing out & managing access rights if you aren't the only non-read-only user, keeping things patched up-to-date, tweaking any options that have might have security repercussions, …), you can chuck a copy on a publicly accessible server for others to see.
Then, if you have the local resources for it (a decent speed and reliably enough connection) at home, consider moving it back “in house” but publicly available.
Those first test local-only instances can be on small machines (a Pi if you have one or are lucky enough to find one to purchase that isn't from a stupidly expensive scalper) or VMs on what-ever other machines you have. You can keep them around to play with to test new things later, before adding those new settings/add-ons/other to your public instance.