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