For mailinabox setup, all you need is a VPS with usually 1cpu, and 1gb of ram. I personally use Digital Ocean for my VPS.
First step, is to create a droplet, and make sure it's ubuntu 16+.
After that, it is super easy to setup, connect to the VPS, I always use a OTP that is emailed to you. Then once, you receive that, paste it into the PuTTY window and and set your new pass.
A small note about PuTTY is that right click is paste. Don't CTRL+V for this, just right click after it asks you for your password.
Then after that, follow this guide.
If you encounter any issues, reply to this post and I will help you