How much CPU/RAM to run a VPN Server?

My home network situation is currently not ideal, as in my personal network/homelab is behind a double NAT. I’ve tried to get around this, but because I am not in an ideal living situation (thanks COVID), there’s little I can do about this.

In the past, I’ve run Game Servers for myself and friends and have run a couple of other services, all of which would be made much easier to run by a static (public) ip address.

In looking for solutions, I’ve decided that likely my best option will be to get a VPS and run my own private VPN to said server. This would give me the public ip, and, hopefully, make it fairly simple for friends, and anyone else who uses my servers, to connect. As an added bonus, if I move I can simply continue to connect to the VPS and the ip doesn’t need to change.

Although I’ve used VPNs and VPSs in the past, I have never used either for this sort of solution. As such, I’m wondering just how much CPU and RAM I should be looking at in any VPS service that I might set up on. Bandwidth will be a consideration as well, I’m ion a gigabit (fibre) connection at home. What other things might I need to consider for this?

Any other suggestions for solutions could be interesting too.

You don’t need much with Wireguard. My Raspberry Pi 4 is overkill.

I’ve got 2x ubuntu vm’s that are running on 512mb of ram, 2 cpu cores, and like 16GB of disk space.

However, realize even that is MASSIVE overkill. You can get by with much less ram and only 1 cpu core if needed. way less disk too

Until recently I ran my Wireguard server in a Linode instance with one shared core (i.e., no dedicated CPU core) and 1GB of ram, and had no issues at all.

Ram? Basically, none.

Wireguard on alpine? 64m would be more then enough.

Cpu, depends on speed of your wan.

Have adsl? Single core.

Have multi gig wan? As much cpu as you can throw at it.

Want to find the perfect amount? Setup a vpn. Start small.

Max out your vpn. Does it bottleneck on cpu? Add more. Ram usage > 80%? Add more

To put it in perspective, I have a VPN server running on a Raspberry Pi 2B whilst also running Pi-Hole. You don’t need much at all.