This image contains Hugo and its optional runtime dependencies: Asciidoctor, Dart Sass, Git, Go, Node.js, Pandoc, and Rst2html. It also contains the standard and extended editions of Pagefind, a static search library by Cloud Cannon.
To run the container in your development environment:
-
Create an alias in
$HOME/.bash_aliases:alias dhugo='docker run --rm -v .:/project -v $HOME/.cache/hugo_cache:/cache -u $(id -u):$(id -g) --network host veriphor/hugo hugo'By aliasing the docker command to
dhugoinstead ofhugoyou can use your existing installation and this image side-by-side. -
Source the changes to your alias file and create the cache directory:
source $HOME/.bash_aliases mkdir -p $HOME/.cache/hugo_cache -
Navigate to your project directory, then view or build your site:
dhugo server # view dhugo # build
To display a list of installed applications:
docker run --rm veriphor/hugo info
The container can access two directories on the host: the current working directory and $HOME/.cache/hugo_cache. This intentional confinement imposes the following restrictions:
- You must run
hugofrom the root of the project directory; you cannot use the--sourceflag. - You cannot run
hugo deploydue to lack of access to service credentials typically stored in your$HOMEdirectory.
The project cache, both local (the resources directory) and user ($HOME/.cache/hugo_cache) is persistent.
This image also contains Python 3 (a dependency of Rs2html) and Ruby (a dependency of Asciidoctor).