I started hosting this blog over a year ago, here is where things currently stand and how things are performing. When I set it up, I pretty much just guessed everything. So far its working well and I get no complaints about performance.
I used to host the blog out of my colo server, I no longer do this. Because this used my works IP address, I felt like there was some liability. Now I host it out my house, so its all on me.
The blog is running Ghost software, which is running inside Docker. You can see the container running here in Portainer (Which gives a nice GUI to Docker)
As you can see, I also have traefik running which does the reverse proxy duties to get it out on the internet. I have it using a LetsEncrypt cert, but I actually use the CloudFlare cert for the front end (We get to that later)
Docker is running on a very light Debian VM, which has just 2 vCPU and 1GB of RAM, and 30GB of NVMe backed disk (Which I have plenty spare)
Here you can see it in ESXi, as you can see I have it on a separated web VLAN. As you can see here, resources are almost not even being touched
htop confirms that the system is very lightly loaded. There is currently 180 visitors on the site as I take this screenshot.
I mainly use LibreNMS to monitor performance, I have alerts setup for bandwidth, CPU, Memory and disk space, to make sure I don't run into any issues
Here you can see the bandwidth too, you will notice that for how many images and how many visitors I get, it seems super low, that's thanks to CloudFlare. It pretty much means you don't need very good internet at home at all to host your own website
If I look on the CloudFlare dashboard, you can see that while 35GB of data was served that day, just 5GB came from me
CloudFlare also gives me the free SSL cert, free DNS and of course the worldwide caching
Thats pretty much it, its super simple to setup, and you can run it out of your own house. It costs me literally just the $7 a year for the domain to host