github.com/graemephi/kahugo@v0.62.3-0.20211121071557-d78c0423784d/Dockerfile (about)

     1  # GitHub:       https://github.com/gohugoio
     2  # Twitter:      https://twitter.com/gohugoio
     3  # Website:      https://gohugo.io/
     4  
     5  FROM golang:1.16-alpine AS build
     6  
     7  # Optionally set HUGO_BUILD_TAGS to "extended" or "nodeploy" when building like so:
     8  #   docker build --build-arg HUGO_BUILD_TAGS=extended .
     9  ARG HUGO_BUILD_TAGS
    10  
    11  ARG CGO=1
    12  ENV CGO_ENABLED=${CGO}
    13  ENV GOOS=linux
    14  ENV GO111MODULE=on
    15  
    16  WORKDIR /go/src/github.com/gohugoio/hugo
    17  
    18  COPY . /go/src/github.com/gohugoio/hugo/
    19  
    20  # gcc/g++ are required to build SASS libraries for extended version
    21  RUN apk update && \
    22      apk add --no-cache gcc g++ musl-dev && \
    23      go get github.com/magefile/mage
    24  
    25  RUN mage hugo && mage install
    26  
    27  # ---
    28  
    29  FROM alpine:3.12
    30  
    31  COPY --from=build /go/bin/hugo /usr/bin/hugo
    32  
    33  # libc6-compat & libstdc++ are required for extended SASS libraries
    34  # ca-certificates are required to fetch outside resources (like Twitter oEmbeds)
    35  RUN apk update && \
    36      apk add --no-cache ca-certificates libc6-compat libstdc++ git
    37  
    38  VOLUME /site
    39  WORKDIR /site
    40  
    41  # Expose port for live server
    42  EXPOSE 1313
    43  
    44  ENTRYPOINT ["hugo"]
    45  CMD ["--help"]