How I made this site

I made a conscious effort to blog more this year. In part because I feel my writing ability tanked through the pandemic (despite working from home and communicating via text media more). But also, it's something that I've almost always done online. Since I was a wee nipper. Experimenting with new platforms, building little communities, etc.

But this latest iteration has been mad, and fun. And maddening, at times. So I thought I would jot down what the site is, why it runs so fast and hopefully signpost some good stuff for folks because my own DuckDuckGo'ing was rough!

First off, what is the site running on infrastructure-wise:

  • A very simple Netlify account
    • Domain/A-records/CNAMEs all pointing to Netlify
    • Let's Encrypt SSL
  • Gitlab repository, because they still allow free private ones

Then the tech running the site:

I ran into a few issues on Netlify that were not reproducible locally (which built fine). It took an enormous amount of searching to land on what would finally build & deploy. And it turned out to be three key/pair environment variables:

  1. CLI = false
  2. NODE_VERSION = 19.2.0 (though mileage may vary on that)
  3. NPM_FLAGS = --legacy-peer-deps

The only other quirk to the whole thing, since the Gitlab+Netlify integration is flawless, is that there's a lot of caching on the CDN that I can't build around. So every time I deploy the site from local to gitlab, I need to get into Netlify to cancel the deployment and re-run by clearing cache. There's probably a cleaner way of doing it, but I'm not actually pushing enough content out to really warrant anything wild.

Anyway, hopefully that helps someone on their journey. Amazing to do all of this moderately technical stuff and host a blazing fast site, for free.

My next step will be to spin up an S3 bucket (or similar) to host images, as I can't wrap my mind around Netlify's "large media" system.

Meta