Have you considered AlgoVPN [0], I've not used it personally but heard positive reviews from those who have. They claim to be "set of Ansible scripts that simplify the setup of a personal WireGuard".
I run this on an inexpensive AWS Lightsail instance. Trivial to move it between regions also.