| | |
| | | # VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version. |
| | | ARG VARIANT=hugo_extended |
| | | # VERSION can be either 'latest' or a specific version number |
| | | ARG VERSION=latest |
| | | ARG HUGO_VERSION="0.147.8" |
| | | |
| | | ARG DART_SASS_VERSION="1.89.2" |
| | | |
| | | # Download Hugo |
| | | RUN apt-get update && apt-get install -y ca-certificates openssl git curl && \ |
| | | rm -rf /var/lib/apt/lists/* && \ |
| | | case ${VERSION} in \ |
| | | latest) \ |
| | | export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\ |
| | | esac && \ |
| | | echo ${VERSION} && \ |
| | | case $(uname -m) in \ |
| | | aarch64) \ |
| | | export ARCH=ARM64 ;; \ |
| | | export ARCH=arm64 ;; \ |
| | | *) \ |
| | | export ARCH=64bit ;; \ |
| | | export ARCH=x64 ;; \ |
| | | esac && \ |
| | | echo ${ARCH} && \ |
| | | wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-${ARCH}.tar.gz && \ |
| | | tar xf ${VERSION}.tar.gz && \ |
| | | curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-${ARCH}.tar.gz && \ |
| | | tar -xf dart-sass-${DART_SASS_VERSION}-linux-${ARCH}.tar.gz && \ |
| | | cp -r dart-sass/* /usr/local/bin && \ |
| | | rm -rf dart-sass* && \ |
| | | case $(uname -m) in \ |
| | | aarch64) \ |
| | | export ARCH=arm64 ;; \ |
| | | *) \ |
| | | export ARCH=amd64 ;; \ |
| | | esac && \ |
| | | echo ${ARCH} && \ |
| | | wget -O ${HUGO_VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/${VARIANT}_${HUGO_VERSION}_linux-${ARCH}.tar.gz && \ |
| | | tar xf ${HUGO_VERSION}.tar.gz && \ |
| | | mv hugo /usr/bin/hugo |
| | | |
| | | # Hugo dev server port |
| | | EXPOSE 1313 |
| | | |