Hugo Docker Images

Automated and up-to-date community Hugo Docker images, with various tags from minimalist to comprehensive, such as standard edition and extended edition, root and non-root, Git, Go, Node.js, NPM, Yarn, Dart Sass, AsciiDoc, Pandoc, Nightly build, and more.

Features

Automated

We set up a scheduled workflow to check and build latest Hugo Docker images every 30 mins.

Up to date

With the automated workflow, you don’t need to worry about the Hugo Docker images becoming out-of-date.

Tested

We will test the images before pushing them to container registry, to ensure their functionalities are OK.

Minimal

We offer a wide range of images variants to suit your requirements, such as extended version, Non-root, Git, Go, Node.js, NPM, Yarn, Dart Sass etc.

Multiple Registries

The images will be pushed to both Docker Hub and GitHub Container Registry.

Architectures

All images support linux/amd64 and linux/arm64 architectures.

No Rate Limiting

This project has been approved for the Docker-Sponsored Open Source program, meaning there will be no rate limiting when pulling the image from Docker Hub, which is highly beneficial to the CI/CD environment.

Root and Non-root

According to the type of user, each image has two different tags. If the tag name contains non-root, the default user is hugo, otherwise root.

Nightly Build

Nightly build are supported, which can be used to experience new features, test if the theme is compatible with latest changes and so on.

FAQs

No, it’s a community project.

The minimal images are begin with base (extended edition) and std-base (standard edition).

  • Backward compatibility.
  • Some CI/CD environments require root user images.
  • Root user images are more convenient for CI/CD setup.

  • Prioritize the non-root images as your primary option, unless it doesn’t meet the environmental requirements.
  • Local development, since we typically do not operate the system as the root user, as using a root image may lead to security issues and permission issues. For example, you probably can not manage the files generated by the root container by default.

I used klakegg/hugo in the past for a long time, and feel satisfied with it, however it seems that it is no longer maintained, so I created a new one with automated workflow to meet my needs.

The linux/amd64 and linux/arm64 architectures are currently supported.

It usually takes a few hours to build after the latest Hugo version was released.

All images are built on top of Alpine and its variants.

The default shell is ash (/bin/sh).