Album69
  • About
  • Life
  • Travel
  • Tech
  • Galleries
  • SAP-C02 Notes
  • DOP-C02 Notes
X GitHub LinkedIn YouTube

Building This Site with Hugo and S3

Hugo + S3: from zero to a live site

Tech
November 13, 2022

I’m not a web developer, but I wanted a website — a place to showcase my work and prove to myself I could build one. So I spent the Remembrance Day long weekend rebuilding my site from scratch.

I chose Hugo because it’s a fast, modern static site generator, and AWS S3 for hosting.

Installation

I work on a Windows 10 machine with WSL2 Ubuntu. I installed the extended edition of Hugo via Homebrew — sudo apt install hugo doesn’t ship the latest release.

See: https://gohugo.io/installation/linux/

Getting Started

I followed the official Quick Start guide and picked the Ananke theme.

Image Gallery

I also wanted a home for my photos — nature, city scenes, and my lovely friend Molly.

I followed this gallery tutorial to add one. I’ve found that reading working code examples is the fastest way to understand how things fit together — see the companion repo.

Deployment

At first I deployed manually: build with Hugo, then copy everything to S3.

hugo
aws s3 cp public s3://album69.com/ --recursive

That worked, but it re-uploaded every file each time — and worse, it skipped the CloudFront invalidation, so visitors could keep seeing stale pages for up to 24 hours.

These days it’s one command: ./deploy.sh. It builds the site, syncs only the changed files to S3, finds both CloudFront distributions automatically, and invalidates them so the new version shows up right away.

      © Album69 2026
      X GitHub LinkedIn YouTube