First steps with Hugo

First steps with Hugo

Here is a basic manual on how to set up Hugo on Debian 12, with Nginx and snakeoil TLS for basic development needs.

Lately I have been looking for a better way to store instructions and documentation that I create when I’m playing with my homelab or researching certain topics. A good solution for me has two properties:

  1. It’s easy to access and search.
  2. It motivates me to keep it fairly clean and up to date.

So I decided to set up a simple blog. As I’m mostly using Markdown for jotting and documenting (for example, in GitHub or Obsidian) I decided to use Hugo. Hugo has great manuals for setting it up. However, at first glance, it looks like it’s focused on cloud deployment. I wanted to do it manually to understand it better and incorporate it into the stack that I’m mostly using, which is composed of Proxmox PVE, Debian, Nginx deployed either via Kubernetes or Terraform/cloud-init. I decided to set up Hugo on Debian 12, with Nginx as a web server, locally in my lab. The idea is that development environment should be as close to production as possible.