Why not? It’s fun.
Say no to walled gardens and own the Internet.
So, when I wanted to build a blog for myself, I decided it must be simple, efficient, fast, modern, and yet look easy on the eyes of the reader. I thought about building a Staic Site Generator(SSG) myself for this purpose, but decided against it considering there are plenty of open source SSGs available already that fits my needs. I chose Hugo. The default theme (Ananke) is already built using my favourite functional CSS framework - Tachyons, So, I’m set from the get go.
Next step on the way is to host this beautiful website somewhere. I’m going to need a domain name, a Virtual Private Server(VPS) to run a webserver, DNS service, and a TLS certificate provider.
Domain: I purchased a domain through Google domains.
VPS: A cloud VM on Vultr.
Google domains provide a free DNS service that probably is more than enough for personal websites. I chose to use a more business oriented DNS service provided by Google for its Google Cloud Platform customers - Google Cloud DNS. Google describes this service as to offer a reliable, resilient, low-latency DNS serving from Google’s worldwide network. Just a better use of the Free tier that Google Cloud Platform offers. I will setup my own DNS server in the future, but let’s use Google’s for now.
Web server (Nginx):
DigitalOcean has a couple of excellent guides on setting up Nginx with HTTP/2 and adding TLS.
How to set up Nginx with HTTP/2 on Ubuntu 18.04
Secure Nginx with Let’s Encrypt
With a secure webserver and a domain name pointing to it, all I had left to do was SCP the website built locally on my Mac to the web server.
The result of all the above work is a good looking website that happily hits the goal as shown below.
I hope my website gave you a little inspiration to build/optimize your own. Have fun! and subscribe to my RSS feed if you’d like to see my future posts.