We previously used the get_latest_ref.py script to fetch the latest commit sha for each project that passed CI correctly. Although, that has some challenges due to requiring Gitlab Auth token. It causes issues with building PRs and we don't want to share the Gitlab token with PR authors. Instead, this commit removes the code and sha references and Instead simply uses the primary master branch from each project to build the rolling release container image.
39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
# syntax = docker/dockerfile:1.3
|
|
FROM alpine:3.12
|
|
|
|
#Add startup script to container
|
|
COPY docker-entrypoint.sh /usr/local/bin/
|
|
|
|
# Set the commits that we are building.
|
|
ARG CORE_REF
|
|
ARG MM3_HK_REF
|
|
|
|
|
|
#Install all required packages, add user for executing mailman and set execution
|
|
#rights for startup script
|
|
RUN --mount=type=cache,target=/root/.cache \
|
|
apk update \
|
|
&& apk add --no-cache --virtual build-deps gcc python3-dev musl-dev \
|
|
postgresql-dev git libffi-dev \
|
|
&& apk add --no-cache bash su-exec postgresql-client mysql-client curl python3 py3-pip linux-headers py-cryptography mariadb-connector-c \
|
|
&& python3 -m pip install -U psycopg2 pymysql setuptools wheel \
|
|
&& python3 -m pip install \
|
|
git+https://gitlab.com/mailman/mailman \
|
|
git+https://gitlab.com/mailman/mailman-hyperkitty \
|
|
gunicorn==19.9.0 \
|
|
&& apk del build-deps \
|
|
&& adduser -S mailman
|
|
|
|
# Change the working directory.
|
|
WORKDIR /opt/mailman
|
|
|
|
#Expose the ports for the api (8001) and lmtp (8024)
|
|
EXPOSE 8001 8024
|
|
|
|
# Set the default configuration file.
|
|
ENV MAILMAN_CONFIG_FILE /etc/mailman.cfg
|
|
|
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
|
|
CMD ["master"]
|