web-ci/Dockerfile

62 lines
1.7 KiB
Text
Raw Normal View History

FROM alpine:3.20 as build
ARG HUGO_VERSION="0.127.0"
ARG NODE_VERSION="22.2.0"
2023-07-25 11:30:41 +02:00
2024-07-17 10:56:42 -04:00
RUN apk add --update --no-cache libssl3 ca-certificates openssl-dev curl ninja pkgconf icu-dev git linux-headers libc6-compat make g++ gcc ada-dev brotli-dev c-ares-dev nghttp2-dev python3 samurai zlib-dev py3-pip libuv-dev && \
echo "Added dependencies"
WORKDIR /tmp
RUN curl -4 -sL -o hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz
2024-07-17 10:56:42 -04:00
RUN tar -xzf "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
2024-07-17 10:56:42 -04:00
RUN cp ./hugo /usr/bin/hugo && \
hugo version
2024-06-08 03:24:36 -04:00
RUN curl -4 -sL -o node-v${NODE_VERSION}.tar.gz https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}.tar.gz && \
tar -xzf "node-v${NODE_VERSION}.tar.gz" && \
2024-06-08 00:19:32 -04:00
cd node-v${NODE_VERSION} && \
./configure --prefix=/usr \
--shared-brotli \
--shared-zlib \
--shared-libuv \
--shared-openssl \
--shared-cares \
--shared-nghttp2 \
--ninja \
--without-npm \
--with-intl=system-icu \
--openssl-use-def-ca-store && \
make BUILDTYPE=Release && \
make install
FROM alpine:3.20
2023-07-25 11:30:41 +02:00
RUN apk add --update --no-cache \
c-ares \
2024-06-08 07:33:38 -04:00
git \
nghttp2 \
2024-06-08 04:50:18 -04:00
libcrypto3 \
icu-libs \
icu-data-en \
ca-certificates \
libgcc \
libstdc++ \
libc6-compat \
linux-headers \
rsync \
openssh \
2024-06-08 07:33:38 -04:00
libuv \
bash \
brotli \
&& rm -rf /var/cache/apk/*
COPY --from=build /usr/bin/hugo /usr/bin/hugo
COPY --from=build /usr/bin/node /usr/bin/node
COPY --from=build /usr/lib/node_modules /usr/lib/node_modules
COPY --from=build /usr/include/node /usr/include/node
2023-07-25 11:30:41 +02:00
RUN mkdir /home/app
WORKDIR /home/app
2024-06-08 07:33:38 -04:00
ENTRYPOINT [ "/bin/bash" ]