Hugo is a good tool for building simple websites. It’s easy to get started with and has a simple workflow that gets out of the way for ongoing updates.

Essentially, I followed the steps outlined in the Quick Start and applied the ghostwriter theme.

I decided to host the site on Netlify because it had a simple Github based publication process and was very easy to set up. After I generated the site following the Quick Start, I created a new private Github repo and pushed the site up there.

From there, I followed the hosting instructions and ran into an issue. I got an error on site generation on my first deploy. The deploy logs presented in Netlify made it pretty obvious what the problem was:

9:06:33 PM: $ hugo
9:06:34 PM: ERROR 2020/09/14 01:06:34 GHOSTWRITER theme does not support Hugo version 0.54.0. Minimum version required is 0.60
9:06:34 PM: Building sites … Total in 110 ms
9:06:34 PM: Error: Error building site: logged 1 error(s)
9:06:34 PM: ​
9:06:34 PM: ┌─────────────────────────────┐
9:06:34 PM: │   "build.command" failed    │
9:06:34 PM: └─────────────────────────────┘
9:06:34 PM: ​
9:06:34 PM:   Error message
9:06:34 PM:   Command failed with exit code 255: hugo
9:06:34 PM: ​
9:06:34 PM:   Error location
9:06:34 PM:   In Build command from Netlify app:
9:06:34 PM:   hugo
9:06:34 PM: ​
9:06:34 PM:   Resolved config
9:06:34 PM:   build:
9:06:34 PM:     command: hugo
9:06:34 PM:     commandOrigin: ui
9:06:34 PM:     publish: /opt/build/repo/public

From there, it was a matter of sorting out how the change the version of Hugo used in the build process. All that needed to be done is update the environmental variable for HUGO_VERSION to 0.74, save that change and run the deploy again. At that point, the site was deployed to a temporary URL.

The next step was to assign my domain name to the site. For this, I wanted to keep my DNS at Cloudflare so I followed the instructions to configure external DNS for a custom domain. It’s complicated by the fact that Cloudflare also has a proxy so it seems the best thing to do is apply DNS only. I did that, waited a bit and reloaded the page.

I set my Netlify site to use my domain and it finds it. However, I get an SSL error since the certificate from Netlify does’t match up with the new domain name (l10systems.com). That makes sense. So I went to the HTTPS section of the Domain Management page and tried to provision a Let’s Encrypt certificate. This fails and doesn’t give me a good error message. So, onto troubleshooting.

Based on the troubleshooting, it looks like I’ve got to wait for the TTL on the DNS cache to expire. It didn’t take very long and it all seems to be working now.

Overall, a pretty pleasant experience and I’m looking forward to refining my posting process and writing some content.