hugo-extended-docker
hugo-extended-docker copied to clipboard
Debian Based Docker Image for Hugo (Hugo extended and Hugo Modules)
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:
nodeandnpm
(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.