-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
20 lines (19 loc) · 919 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Use alpine Linux, download desired version of HUGO and build html files
FROM alpine:3.19.1 AS build
RUN apk add --no-cache wget=1.21.4-r0
ARG HUGO_VERSION="0.123.7"
RUN wget --quiet "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz" && \
tar xzf hugo_${HUGO_VERSION}_Linux-64bit.tar.gz && \
rm -r hugo_${HUGO_VERSION}_Linux-64bit.tar.gz && \
mv hugo /usr/bin && \
chmod 755 /usr/bin/hugo
WORKDIR /src
COPY ./ /src
RUN mkdir /target && \
hugo -d /target
# Serve the generated html using nginx
FROM nginxinc/nginx-unprivileged:alpine
RUN sed -i '3 a\ absolute_redirect off;' /etc/nginx/conf.d/default.conf && \
sed -i '4 a\ add_header X-Frame-Options DENY always;' /etc/nginx/conf.d/default.conf && \
sed -i 's/#error_page 404/error_page 404/' /etc/nginx/conf.d/default.conf
COPY --from=build /target /usr/share/nginx/html