Publishing a website on Fastmail - Part I
I can safely say that I haven’t been on the internet for about four years now ever since I decided to leave social media permanently by deleting by Facebook, Twitter, and YouTube profiles. 14 years of my life gone in an instant, and losing touch with lots of people as a result.
Best decision ever.
Since then, Facebook has slipped further into the abyss of rage-baiting and trauma monetisation; and Twitter… you know the rest.
However, it is 2026 and my career is IT. I can’t stay this way forever, and I haven’t. I joined omg.lol and found a lovely close-knit community of people on the Fediverse that made me feel welcome, and the atmosphere resembles that brief period of time between 2007-2012 when the internet still had the aire of hope. It is nice to get that back.
I’ve also joined LinkedIn but I don’t pretend to be perfect.
So, a website. I wanted a simple blog. I wanted to write in Markdown, which means using a Static Site Generator. I picked Hugo but I definitely did not want to install Hugo on my local machine. Why? Because writing is hard right now, I haven’t got the flow back yet. When I find the mood to write I just want to write, not spend five minutes setting up my environment first.
Checklist
- A folder.
- My favourite text editor (nano).
- A Fastmail account.
- A GitHub repo (more on this later).
Step 1: Create the Hugo Site (without using Hugo)
As I said earlier, not installing Hugo is a must. I should just be able to push this up to GitHub and then have automations take care of the Hugo shenanigans.
Step 2: Themes Are Optional, but not really
Initially, I didn’t want a theme. I figured Hugo would give me something by default. It didn’t. Hugo without a theme is like a mailbox full of soup. Technically possible, definitely not pretty.
So I picked the most basic, most supported theme I could find: Ananke. It’s been around forever. It doesn’t break when you breathe near it. But then the real trouble started: Hugo wanted it as a module. I didn’t.
I tried this in my config.toml:
theme = "ananke"
Then downloaded it manually:
git clone --depth=1 https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
This worked but only after I removed every reference to Hugo modules from the config file. Turns out Hugo modules and manually managed themes don’t mix unless you enjoy cryptic errors about missing layout files.
Step 3: The Content
With the theme in place, I tried to write my first post:
nano hello-world.md
Then I edited the Markdown file like a human being:
---
title: "O HAI!"
date: 2026-01-11T11:00:00Z
draft: false
---
This is a Hugo blog post, built in the void, deployed without touching a local binary.
I committed. I pushed. I felt invincible.
Then came deployment.
Spoiler: it didn’t work the first time.
In Part II I’ll show you how many times I broke a GitHub Actions workflow trying to get Hugo to build itself in the cloud and FTP (sorry, WebDAV) into Fastmail like it’s 2004. Stay tuned.