Build and deploy Hugo with Make

Build and deploy Hugo with Make

I’ve written before about how I deploy this blog using Drone.io. It works well, and does exactly what you’d expect.

Lately I’ve started looking into reducing complexity in homelab systems that I use — and using “a Continuous Integration platform for busy development teams” felt a bit overkill for this tiny blog.

So I switched to something simple; GNU Make.

Read more →

Turning Hugo aliases into AWS S3 redirects

Turning Hugo aliases into AWS S3 redirects

I’m hosting this blog on AWS S3 and Cloudfront. One disadvantage with S3 is that it doesn’t have a simple way of creating redirects — like Netlify, Firebase, or even Nginx.

But there is way; using the AWS CLI, put-object, and the x-amz-website-redirect-location metadata.

Here’s how 👇

Read more →

Deploying this Hugo blog to AWS S3

Deploying this Hugo blog to AWS S3

This blog is built with Hugo — an open-source static site generator. Static websites require no server side processing, which makes them easier to host and opens up new hosting possibilities.

There are many options out there, but I deploy my website to AWS S3, using CloudFront to distribute it globally (aka. make it fast).

Here is the why and the how.

Read more →

Building and deploying Hugo staging and production to Nginx

Building and deploying Hugo staging and production to Nginx

I am building my Hugo website on a local LXC container, using Gitea and Drone. There are plenty of tutorials on how to connected those two together, so I won’t go through that here.

Instead I want to show you how I build and deploy my staging and production environment to Nginx — using atomic deployments and unique preview URLs.

Read more →

Output Hugo aliases as a Nginx map file

Output Hugo aliases as a Nginx map file

In my previous post I wrote about turning Hugo aliases into Firebase redirects. Now — let’s convert them into a Nginx map file, and have Nginx redirect based on that file.

Read more →