Files
OSIT-Mailman3/core/Dockerfile.dev
Abhilash Raj 941b7f0411 Remove the get_latest_ref script and use the primary branch.
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.
2022-04-14 07:24:10 +00:00

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"]