homepage/Dockerfile
Yannik Rödel ac70140fad Fix error related to lighttpd MIME type handling
lighttpd wouldn't start, erroring with something like

    (../src/configfile.c.2449) include file not found:
/etc/lighttpd/mime-types.conf
    (../src/configfile.c.2256) source: /httpd.conf line: 10 pos: 0
parser failed somehow near here: (EOL)

This is because the alpine packaging for lighttpd has moved away from
including this file in the default setup [1]. It doesn't seem to be
needed anymore, so it can probably go.

[1]:
632d675ea8
2025-06-15 17:49:46 +02:00

59 lines
1.6 KiB
Docker

#
# Static site build phase
#
FROM docker.io/node:22 as build
ARG SITE
WORKDIR /build
COPY package.json package-lock.json /build/
RUN --mount=type=cache,target=/root/.npm \
npm clean-install --omit=dev
COPY styles /build/styles/
RUN npm run build:styles
COPY .eleventy* /build/
COPY assets /build/assets/
COPY includes /build/includes/
COPY sites/${SITE} /build/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
#
# Actual server container
#
FROM docker.io/python:3.13-alpine
ARG SITE
RUN --mount=type=cache,target=/root/.cache/pip \
apk add --no-cache lighttpd && \
python -m pip install legacy-cgi itsdangerous requests
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/local/bin/python,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