Here is a blog post from me how to build your own WireGuard VPN in 15 minutes:
It is important to me that you get a good understanding of iptables and how to use it from this post since I think there is a lack of good guides about it. I believe it is way more helpful to explain fundamentals well compared to just handing out instructions to follow. With a good understanding, you will be able to help yourself a lot better in case you run into problems.
Thanks for posting, I am always interested in skimming through other WireGuard VPN setup articles to make sure their keys are generated securely (correct file permissions set). Here, I actually learned about the go= syntax with chmod! It sets the permissions of group members (g) and others (o) to what comes after the = - which is nothing.
Hence, only the owner has access.