Klakegg's wonderful Hugo Docker image update thread

Dear all,

I maintain a continuously up-to-date Docker image with batteries included. The smallest image is just 6,8 MB (as of 0.43) and all the way up to 14,6 MB (as of 0.43) when providing extended edition of Hugo on Alpine, Asciidoctor and ONBUILD support. All Alpine-based images also contains support for a Hugo shell (Bash + Hugo autocompletion). All versions of Hugo since 0.34 are available from Docker Hub.

Images are made available in an unbiased manner, and should work very well for anyone wanting to use them to build their own more specialized image.

All informasjon may be found right here:
https://hub.docker.com/r/klakegg/hugo/

I try to make available new images no later than 24 hours after a new Hugo release.

3 Likes

I’ve now also made a Github Action to companion my Docker image(s). It is out of the box ready for the simplest Hugo site, but may also suit those in need of the most impressive build matrixes.

Please find more information right here:
https://github.com/marketplace/actions/powerful-hugo

2 Likes

You are a life saver! I tried making a new image by installing Pandoc using cabal on registry.gitlab.com/pages/hugo:latest. It took three hours and the pipline was canceled by Gitlab.

1 Like

I like the title of this thread. 15MB including Ruby is pretty impressive.

Expectactions to Docker images for Hugo extended edition has changed a lot since my original post. The smallest image for Hugo standard edition is today 13,8 MB (compressed), all the way up to 228,3 MB (compressed) when using Hugo extended edition with a lot of tooling running on Ubuntu.

I think using my ext-alpine image at 180,9 MB (compressed), which currently includes Hugo extended edition, Node, Yarn, PostCSS, Autoprefixer, Go, Git and Bash autocompletion out of the box to support as much of Hugo functionality as possible, is a good choice for many site owner out there. However I don’t know what is the best for the individual site, so I provide images based upon Alpine, Busybox (standard edition only), Debian and Ubuntu with and without the extended edition for the community to build upon based on their own requirements.

@bep All the new features Hugo has received during the last two years (since my original post) is impressive. I don’t know what is next, however I will still try to make those Docker images to support it, even if it means producing even larger images.

@bamadi Congratulations on your first post in this wonderful community. I’m really happy one of my images is a good fit for your project, and I hope you, like others, will post issues in the Github repository if you find bugs or simply find that I have missed something. :slight_smile:

2 Likes

I didn’t notice that this was an old thread. Oh well, the Docker image is much appreciated, I surely do not have time to maintain something like that at the moment…

1 Like

As of 0.71.0 there are two changes:

  • Environment variable HUGO_DESTINATION is changed from /target to public.
  • New images ready for use as devcontainer.

The first change is a breaking change, and I’m sad I find the need to make it. The main reason for it is the introduction of devcontainers to allow for a complete and uniform suite of images to support the Hugo community.

1 Like