Well I guess a more correct title would be, "How to set up a server to reliable run a Nim server facing the public internet" but that was a bit wordy. The reason I specifically call it a Nim server is that this is the kind of server setup you would need if the only thing you wanted to do was to run some Nim code. You can probably find similar guides for Node, Python, C# or similar, so I thought a step by step guide to end up with a fairly minimal server that has all the stuff you need would be a good idea. I've received some feedback on how to improve it as well, so an update is coming soon. Maybe I'll use the opportunity to clear up why I'm calling it a Nim server.