Deploying Hugo

Why Blog?

I’ve always wanted to have a space to host some writing. Whether people read it or not was never the point, but somewhere to write my thoughts down in long form. To have them there as some kind of artifact to point to.

I have some large ideas around some specific concepts, like SO2 in red wine, that need fleshing out in long form. They also need to be things I can point people to when in discussion. I’m human, I forget things! So when in disucssions with people and something technical appears. I need to point people somewhere to get my real thoughts on the subject. This blog is that project.

The How

So, of-course one could simply go and get a Wordpress or Ghost instance. Pay them $5/month and then get going near instantly. But that would be too easy! I really wanted to self-host the site at home, at least to start. Because learning from that project would be half the point.

This meant a few things would be important. The site would have to be:

  1. Lightweight
  2. Secure
  3. Small attack surface
  4. Easy deployment, workflow and CMS

Finding the above would be difficult and in all honesty was the reason this took so long. However there is one thing I learnt from this process and that is just simply start. You cannot read all the docs for every static site generator out there, but simply choose one and go. You will learn along the way and implementing the second system will be infinitely easier than the first.

Hugo

So after significant soul searching I decided to self-host Hugo using NGINX. This would all run on an Ubuntu VM on my server. Hugo is easy to deploy, I can track it all as a git repo and therefore it will be easy to move, backup and restore.

Static sites are fast and responsive, have no tracking or other user-hostile content with low attack surfaces. Whether I use Hugo long term remains to be seen. But for now it fits the bill.