Awesome
<!-- https://shields.io/ --> <img width="400" alt="Docker image of Hugo extended version" src="https://raw.githubusercontent.com/peaceiris/hugo-extended-docker/main/images/ogp.svg">Debian Based Docker Image for Hugo (Hugo extended and Hugo Modules)
Docker images on GitHub Packages ghcr.io/peaceiris/hugo are also available.
Getting Started
(1) Select Your Image
Image Name | Base Image | COMPRESSED SIZE | Notes |
---|---|---|---|
peaceiris/hugo:v0.x.x | debian:bullseye-slim | 72.64 MB | Slim image |
peaceiris/hugo:v0.x.x-mod | golang:1.20-bullseye | 315.19 MB | Hugo Modules feature is available |
peaceiris/hugo:v0.x.x-full | golang:1.20-bullseye | 378.96 MB | Hugo Modules and Node.js are available |
Note
peaceiris/hugo = ghcr.io/peaceiris/hugo
- Hugo Modules:
hugo mod
- Node.js:
node
andnpm
(2) Create Your docker-compose.yml
Create your docker-compose.yml
like the following.
version: '3'
services:
hugo:
container_name: hugo
image: peaceiris/hugo:v0.x.x # Minimum image
# image: peaceiris/hugo:v0.x.x-mod # Hugo Modules
# image: peaceiris/hugo:v0.x.x-full # Hugo Modules and Node.js
# image: ghcr.io/peaceiris/hugo:v0.x.x # Docker images on GitHub Packages
ports:
- 1313:1313
volumes:
- ${PWD}:/src
command:
- server
- --bind=0.0.0.0
- --buildDrafts
(3) Start Your Container
# Run "hugo server"
docker-compose up
# Build site
docker-compose run --rm hugo ""
# Build site with flags
docker-compose run --rm hugo --gc --minify --cleanDestinationDir
# Run a command of Hugo
docker-compose run --rm hugo env
GitHub Actions for Hugo
The Hugo Setup GitHub Action is recommended.