docker-hugo

CLI de Hugo en Docker.

CLI de Hugo en Docker.

Docker Build Status

docker-hugo es el CLI de Hugo en Docker.

EtiquetaDockerfile
latest, 0.82.0Dockerfile
extended, 0.82.0-extendedDockerfile
docs, 0.82.0-docsDockerfile
0.81.0Dockerfile
0.80.0Dockerfile
0.79.1Dockerfile
0.78.2Dockerfile
0.76.5Dockerfile

Cada imagen tiene las variaciones extended y docs. La primera contiene la versión extendida de Hugo, y la segunda es el sitio web de Hugo.

Uso

$ docker run -v /ruta/a/mi/sitio/:/site/ \
    ntrrg/hugo [OPCIONES] [COMANDO]

Puede usarse cualquier comando del CLI de Hugo, para más información ejecutar docker run --rm ntrrg/hugo help o ver la documentación oficial.

Nota

Como el binario de Hugo del contenedor es ejecutado por root, es recomendable agregar la opción -u de Docker.

$ docker run -v /ruta/a/mi/sitio/:/site/ \
    -u $(id -u $USER) \
    -v ${TMPDIR:-/tmp/}:/tmp/ \
    ntrrg/hugo [OPCIONES] [COMANDO]

Ejemplos

  • Crear el esqueleto de un projecto Hugo
$ docker run --rm -v /ruta/a/mi/sitio/:/site/ \
    ntrrg/hugo new site .
  • Construir un proyecto Hugo
$ docker run --rm -v /ruta/a/mi/sitio/:/site/ ntrrg/hugo
  • Ejecutar el servidor de Hugo
$ docker run --rm -i -t -p 1313:1313 \
    -v /ruta/a/mi/sitio/:/site/ \
    ntrrg/hugo server -DEF --bind=0.0.0.0 \
        --baseUrl=/ --appendPort=false
  • Ejecutar el servidor de Hugo en un puerto personalizado
$ 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

Atribuciones

Trabajando en este proyecto uso/usé:

Websocket for LiveReload using wrong port if Hugo binds to port 80. https://github.com/gohugoio/hugo/issues/2205