Dockerized Hugo CLI.
docker-hugo is a Dockerized Hugo CLI.
Tag | Dockerfile |
---|---|
latest , 0.85.0 | Dockerfile |
extended , 0.85.0-extended | Dockerfile |
docs , 0.85.0-docs | Dockerfile |
0.82.0 | Dockerfile |
0.81.0 | Dockerfile |
0.80.0 | Dockerfile |
0.79.1 | Dockerfile |
Every image has the extended
and docs
variations. The first one contains
the Hugo extended version binary, and the second one is the Hugo website.
Usage
$ docker run -v /path/to/my/site/:/site/ \
ntrrg/hugo [OPTIONS] [COMMAND]
Any command from the Hugo CLI might be used, for extra information use docker run --rm ntrrg/hugo help
or see the official documentation.
Since the Hugo binary from the container is called by root
, it is
recommendable to add the -u
Docker flag.
$ docker run -v /path/to/my/site/:/site/ \
-u $(id -u $USER) \
-v ${TMPDIR:-/tmp/}:/tmp/ \
ntrrg/hugo [OPTIONS] [COMMAND]
Examples
- Create a new Hugo skeleton
$ docker run --rm -v /path/to/my/site/:/site/ \
ntrrg/hugo new site .
- Build a Hugo project
$ docker run --rm -v /path/to/my/site/:/site/ ntrrg/hugo
- Run the Hugo server
$ docker run --rm -i -t -p 1313:1313 \
-v /path/to/my/site/:/site/ \
ntrrg/hugo server -DEF --baseUrl=/ \
--bind=0.0.0.0 --appendPort=false
- Run the Hugo server with a custom port
$ export PORT=8080
$ docker run --rm -i -t -p $PORT:$PORT \
-v /path/to/my/site/:/site/ \
ntrrg/hugo server -DEF --bind=0.0.0.0 --port=$PORT \
--baseUrl=/ --appendPort=false
Acknowledgment
Working on this project I use/used:
Websocket for LiveReload using wrong port if Hugo binds to port 80. https://github.com/gohugoio/hugo/issues/2205
Privacy policy
This site does not use third-party tracking cookies!
If you use private source products, worrying about privacy and using this products is like worrying about global warming and not recycling.. So just don’t.. 😒