mirror of
https://codeberg.org/angestoepselt/homepage.git
synced 2026-03-21 22:32:17 +00:00
61 lines
1.7 KiB
Docker
61 lines
1.7 KiB
Docker
#
|
|
# Static site build phase
|
|
#
|
|
FROM docker.io/node:24 as build
|
|
ARG SITE
|
|
|
|
WORKDIR /build
|
|
|
|
COPY package.json package-lock.json .
|
|
RUN --mount=type=cache,target=/root/.npm \
|
|
npm clean-install --omit=dev
|
|
|
|
COPY styles/ styles/
|
|
RUN npm run build:styles
|
|
|
|
COPY eleventy.config.mjs .
|
|
COPY assets assets/
|
|
COPY includes includes/
|
|
COPY sites/${SITE} sites/${SITE}/
|
|
# These are symlinked from other sites:
|
|
COPY sites/angestoepselt/_images/home-banner.jpg /build/sites/angestoepselt/_images/
|
|
RUN SITE=${SITE} npm run build:site
|
|
|
|
|
|
#
|
|
# Actual server container
|
|
#
|
|
FROM docker.io/library/alpine:latest
|
|
ARG SITE
|
|
|
|
RUN apk add --no-cache lighttpd wget && \
|
|
apk add --no-cache python3 py3-requests py3-itsdangerous py3-magic
|
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
apk add --no-cache py3-pip && \
|
|
python3 -m pip install legacy-cgi --break-system-packages && \
|
|
apk del py3-pip
|
|
|
|
COPY --from=build /build/dist /www/
|
|
COPY cgi-bin /cgi-bin/
|
|
COPY sites/${SITE}/httpd.conf /httpd.conf
|
|
COPY sites/${SITE}/_data/config.json /config.json
|
|
|
|
RUN sed -i \
|
|
-e "s,@python@,/usr/bin/python3,g" \
|
|
-e "s,@site@,/www,g" \
|
|
-e "s,@cgibin@,/cgi-bin,g" \
|
|
/httpd.conf
|
|
|
|
EXPOSE 80/tcp
|
|
# Note: these are just those environment variables that have a default variable
|
|
# and are optional, the non optional ones *will* need to be set by the user.
|
|
ENV ZAMMAD_URL=https://ticket.z31.it
|
|
ENV ZAMMAD_GROUP=""
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
|
CMD wget --no-verbose --tries=1 --spider http://127.0.0.1/ || exit 1
|
|
|
|
# Reroute stdout to a new file descriptor so that Lighttpd can use it as the
|
|
# access log. See http.conf and here:
|
|
# https://redmine.lighttpd.net/boards/2/topics/8382
|
|
ENTRYPOINT exec 3>&1 && /usr/sbin/lighttpd -Df /httpd.conf
|