# Update the NODE_VERSION arg in docker-compose.yml to pick a Node version: 10, 12, 14 ARG NODE_VERSION=14 FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${NODE_VERSION} # 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=0.118.2 # VERSION of Go ARG GO_VERSION=1.20 # 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=64bit ;; \ 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 && \ mv hugo /usr/bin/hugo # Download Go RUN curl -sL https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz > /tmp/go.tar.gz && \ tar -C /tmp -xf /tmp/go.tar.gz && \ mv /tmp/go /go && \ rm -rf \ /usr/local/go/pkg/*/cmd \ /usr/local/go/pkg/bootstrap \ /usr/local/go/pkg/obj \ /usr/local/go/pkg/tool/*/api \ /usr/local/go/pkg/tool/*/go_bootstrap \ /usr/local/go/src/cmd/dist/dist \ /tmp/go.tag.gz && \ export PATH=$PATH:/go/bin && \ echo "Installed Go: ${GO_VERSION}" && \ go version ENV PATH="/go/bin:${PATH}" # Hugo dev server port EXPOSE 1313 # [Optional] Uncomment this section to install additional OS packages you may want. # # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ # && apt-get -y install --no-install-recommends # [Optional] Uncomment if you want to install more global node packages # RUN sudo -u node npm install -g