2024-06-07 17:25:46 -04:00
|
|
|
FROM alpine:3.20 as build
|
2024-06-07 04:22:22 -04:00
|
|
|
ARG HUGO_VERSION="0.127.0"
|
2024-06-07 17:25:46 -04:00
|
|
|
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"
|
2024-06-07 04:22:22 -04:00
|
|
|
|
|
|
|
WORKDIR /tmp
|
|
|
|
|
2024-07-17 10:56:42 -04:00
|
|
|
RUN echo "Downloading Hugo..." && \
|
|
|
|
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 && \
|
|
|
|
echo "Downloaded Hugo successfully" || \
|
|
|
|
echo "Error downloading Hugo: exit code $(echo $?)" && \
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
RUN tar -xzf "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz" && \
|
|
|
|
echo "Extracted Hugo successfully" || \
|
|
|
|
echo "Error extracting Hugo: exit code $(echo $?)" && \
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
RUN cp ./hugo /usr/bin/hugo && \
|
|
|
|
hugo version && \
|
|
|
|
echo "Hugo installed and configured successfully" || \
|
|
|
|
echo "Error installing Hugo: exit code $(echo $?)" && \
|
|
|
|
exit 1
|
2024-06-07 04:22:22 -04:00
|
|
|
|
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} && \
|
2024-06-07 17:25:46 -04:00
|
|
|
./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 && \
|
2024-06-07 04:22:22 -04:00
|
|
|
make install
|
|
|
|
|
2024-06-07 17:25:46 -04:00
|
|
|
FROM alpine:3.20
|
2023-07-25 11:30:41 +02:00
|
|
|
|
2024-06-07 17:25:46 -04:00
|
|
|
RUN apk add --update --no-cache \
|
|
|
|
c-ares \
|
2024-06-08 07:33:38 -04:00
|
|
|
git \
|
2024-06-07 17:25:46 -04:00
|
|
|
nghttp2 \
|
2024-06-08 04:50:18 -04:00
|
|
|
libcrypto3 \
|
|
|
|
icu-libs \
|
|
|
|
icu-data-en \
|
2024-06-07 17:25:46 -04:00
|
|
|
ca-certificates \
|
|
|
|
libgcc \
|
|
|
|
libstdc++ \
|
|
|
|
libc6-compat \
|
|
|
|
linux-headers \
|
|
|
|
rsync \
|
|
|
|
openssh \
|
2024-06-08 07:33:38 -04:00
|
|
|
libuv \
|
|
|
|
bash \
|
|
|
|
brotli \
|
2024-06-07 17:25:46 -04:00
|
|
|
&& 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" ]
|