github.com/neohugo/neohugo@v0.123.8/Dockerfile.extra (about)

     1  # GitHub:       https://github.com/neohugo/neohugo
     2  # Website:      https://neohugo.github.io/
     3  
     4  FROM golang:alpine AS build
     5  
     6  # Optionally set HUGO_BUILD_TAGS to "extended" or "nodeploy" when building like so:
     7  #   docker build --build-arg HUGO_BUILD_TAGS=extended .
     8  ENV HUGO_BUILD_TAGS=extended
     9  
    10  ARG CGO=1
    11  ENV CGO_ENABLED=${CGO}
    12  ENV GOOS=linux
    13  ENV GO111MODULE=on
    14  
    15  WORKDIR /go/src/github.com/neohugo/neohugo
    16  
    17  COPY . /go/src/github.com/neohugo/neohugo/
    18  
    19  # gcc/g++ are required to build SASS libraries for extended version
    20  RUN apk update && \
    21      apk add --no-cache gcc g++ musl-dev && \
    22      go install github.com/magefile/mage@latest
    23  
    24  RUN mage neohugo && mage install
    25  
    26  # ---
    27  
    28  FROM node:lts-alpine
    29  
    30  ENV MOZJPEG_VERSION="4.1.1"
    31  
    32  LABEL description="Docker container for building static sites with the neohugo static site generator with extended."
    33  LABEL maintainer="Prachya Saechua<blackb1rd@blackb1rd.dev>"
    34  
    35  COPY --from=build /go/bin/neohugo /usr/bin/neohugo
    36  
    37  # libc6-compat & libstdc++ are required for extended SASS libraries
    38  # ca-certificates are required to fetch outside resources (like Twitter oEmbeds)
    39  RUN apk update && \
    40      apk add --no-cache \
    41        bash \
    42        ca-certificates \
    43        exiftool \
    44        libc6-compat \
    45        libpng-static \
    46        libstdc++ \
    47        libwebp \
    48        libwebp-tools \
    49        openssh-client \
    50        pngquant \
    51        rsync \
    52        zlib-static \
    53      && apk add --update --no-cache --virtual .build-deps \
    54          autoconf \
    55          automake \
    56          binutils-gold \
    57          build-base \
    58          cmake \
    59          curl \
    60          g++ \
    61          gcc \
    62          git \
    63          gnupg \
    64          gzip \
    65          libgcc \
    66          libpng-dev \
    67          libstdc++ \
    68          libtool \
    69          linux-headers \
    70          make \
    71          nasm \
    72          pkgconf \
    73          tar \
    74          xz \
    75          zlib-dev \
    76      && deluser --remove-home node \
    77      && addgroup -Sg 1000 neohugo \
    78      && adduser -Sg neohugo -u 1000 -h /src neohugo \
    79      && curl -L https://github.com/mozilla/mozjpeg/archive/v${MOZJPEG_VERSION}.tar.gz | tar -xz \
    80      && cd mozjpeg-${MOZJPEG_VERSION} \
    81      && cmake -DCMAKE_BUILD_TYPE=Release . \
    82      && make install && cd .. \
    83      && rm -rf mozjpeg-${MOZJPEG_VERSION} \
    84      && apk del .build-deps \
    85      && /opt/mozjpeg/bin/cjpeg -version \
    86      && cwebp \
    87      && neohugo version
    88  
    89  ENV PATH="${PATH}:/opt/mozjpeg/bin"
    90  
    91  WORKDIR /src
    92  # Expose port for live server
    93  EXPOSE 1313