Upgrade to latest Mailman 3 releases
New releases info: https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/YDUYHVWBGBLASJHAYE2PQKY2F7PNEIKP/ Sync all our forked files from mailman-docker to the current upstream state, except for our overridden hyperkitty->archives and postorius->mailman3 URL routes in docker/mailman/web/mailman-web/urls.py. Change-Id: I26f45b0f019b9212c148f145a5c36ed777fb111c
This commit is contained in:
parent
b3794ea1d5
commit
18a91c272e
@ -1,6 +1,6 @@
|
|||||||
# syntax = docker/dockerfile:1.3
|
# syntax = docker/dockerfile:1.3
|
||||||
# Use 3.15 for Core since it has Python 3.9
|
# Use 3.15 for Core since it has Python 3.9
|
||||||
FROM alpine:3.15
|
FROM alpine:3.18
|
||||||
|
|
||||||
#Add startup script to container
|
#Add startup script to container
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/
|
COPY docker-entrypoint.sh /usr/local/bin/
|
||||||
@ -15,12 +15,11 @@ RUN --mount=type=cache,target=/root/.cache \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
# Mailman html to plaintext conversion uses lynx.
|
# Mailman html to plaintext conversion uses lynx.
|
||||||
# psutil needs linux-headers to compile on musl c library.
|
# psutil needs linux-headers to compile on musl c library.
|
||||||
&& apk add --no-cache bash su-exec postgresql-client mysql-client curl python3 py3-pip linux-headers py-cryptography mariadb-connector-c lynx \
|
&& apk add --no-cache bash su-exec postgresql-client mysql-client curl python3 py3-pip linux-headers py-cryptography mariadb-connector-c lynx tzdata \
|
||||||
&& python3 -m pip install -U pip setuptools wheel \
|
&& python3 -m pip install -U pip setuptools wheel \
|
||||||
&& python3 -m pip install psycopg2 \
|
&& python3 -m pip install psycopg2 \
|
||||||
gunicorn==19.9.0 \
|
gunicorn==19.9.0 \
|
||||||
pymysql \
|
pymysql \
|
||||||
sqlalchemy \
|
|
||||||
-r /tmp/requirements.txt \
|
-r /tmp/requirements.txt \
|
||||||
&& apk del build-deps \
|
&& apk del build-deps \
|
||||||
&& adduser -S mailman
|
&& adduser -S mailman
|
||||||
|
@ -3,4 +3,4 @@ and you should refer to that repo for information. The upstream repo is MIT
|
|||||||
licensed.
|
licensed.
|
||||||
|
|
||||||
The contents in this dir are based on commit
|
The contents in this dir are based on commit
|
||||||
22b3b7d4024a00e9896837fa04883cbaeef38b20.
|
13411cbe624f5b590f14b801200b7dc107624511.
|
||||||
|
@ -6,7 +6,7 @@ function wait_for_postgres () {
|
|||||||
# moving forward.
|
# moving forward.
|
||||||
# TODO: Use python3's psycopg2 module to do this in python3 instead of
|
# TODO: Use python3's psycopg2 module to do this in python3 instead of
|
||||||
# installing postgres-client in the image.
|
# installing postgres-client in the image.
|
||||||
until psql $DATABASE_URL -c '\l'; do
|
until psql -P pager=off $DATABASE_URL -c '\l'; do
|
||||||
>&2 echo "Postgres is unavailable - sleeping"
|
>&2 echo "Postgres is unavailable - sleeping"
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
@ -142,6 +142,8 @@ lmtp_host: $MM_HOSTNAME
|
|||||||
lmtp_port: 8024
|
lmtp_port: 8024
|
||||||
smtp_host: $SMTP_HOST
|
smtp_host: $SMTP_HOST
|
||||||
smtp_port: $SMTP_PORT
|
smtp_port: $SMTP_PORT
|
||||||
|
smtp_user: $SMTP_HOST_USER
|
||||||
|
smtp_pass: $SMTP_HOST_PASSWORD
|
||||||
configuration: python:mailman.config.exim4
|
configuration: python:mailman.config.exim4
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
@ -163,6 +165,8 @@ lmtp_host: $MM_HOSTNAME
|
|||||||
lmtp_port: 8024
|
lmtp_port: 8024
|
||||||
smtp_host: $SMTP_HOST
|
smtp_host: $SMTP_HOST
|
||||||
smtp_port: $SMTP_PORT
|
smtp_port: $SMTP_PORT
|
||||||
|
smtp_user: $SMTP_HOST_USER
|
||||||
|
smtp_pass: $SMTP_HOST_PASSWORD
|
||||||
configuration: /etc/postfix-mailman.cfg
|
configuration: /etc/postfix-mailman.cfg
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# This is a separate file from Dockerfile so that we can use dependabot
|
# This is a separate file from Dockerfile so that we can use dependabot
|
||||||
# for version updates that isn't supported for contents inside the
|
# for version updates that isn't supported for contents inside the
|
||||||
# Dockerfile.
|
# Dockerfile.
|
||||||
mailman==3.3.7
|
mailman==3.3.8
|
||||||
mailman-hyperkitty==1.2.0
|
mailman-hyperkitty==1.2.1
|
||||||
# mailman/config/config.py "from importlib_resources import path" ImportError
|
# mailman/config/config.py "from importlib_resources import path" ImportError
|
||||||
# remove when https://gitlab.com/mailman/mailman/-/issues/1093 is solved
|
# remove when https://gitlab.com/mailman/mailman/-/issues/1093 is solved
|
||||||
importlib_resources<6
|
importlib_resources<6
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# syntax = docker/dockerfile:1.3
|
# syntax = docker/dockerfile:1.3
|
||||||
FROM alpine:3.16.2
|
FROM alpine:3.18.2
|
||||||
|
|
||||||
# Add needed files for uwsgi server + settings for django
|
# Add needed files for uwsgi server + settings for django
|
||||||
COPY mailman-web /opt/mailman-web
|
COPY mailman-web /opt/mailman-web
|
||||||
@ -15,14 +15,14 @@ RUN --mount=type=cache,target=/root/.cache \
|
|||||||
set -ex \
|
set -ex \
|
||||||
&& apk add --no-cache --virtual .build-deps gcc libc-dev linux-headers \
|
&& apk add --no-cache --virtual .build-deps gcc libc-dev linux-headers \
|
||||||
postgresql-dev mariadb-dev mariadb-connector-c python3-dev libffi-dev openldap-dev cargo rust \
|
postgresql-dev mariadb-dev mariadb-connector-c python3-dev libffi-dev openldap-dev cargo rust \
|
||||||
&& apk add --no-cache --virtual .mailman-rundeps bash sassc \
|
&& apk add --no-cache --virtual .mailman-rundeps bash sassc tzdata \
|
||||||
postgresql-client mysql-client py3-mysqlclient curl mailcap gettext \
|
postgresql-client mysql-client py3-mysqlclient curl mailcap gettext \
|
||||||
python3 py3-pip xapian-core xapian-bindings-python3 libffi pcre-dev py-cryptography \
|
python3 py3-pip xapian-core xapian-bindings-python3 libffi pcre-dev py-cryptography \
|
||||||
&& python3 -m pip install -U 'Django<4.1' pip setuptools wheel \
|
&& python3 -m pip install -U 'Django<4.2' pip setuptools wheel \
|
||||||
&& pip install -r /tmp/requirements.txt \
|
&& pip install -r /tmp/requirements.txt \
|
||||||
whoosh \
|
whoosh \
|
||||||
uwsgi \
|
uwsgi \
|
||||||
'psycopg2<2.9' \
|
psycopg2 \
|
||||||
dj-database-url \
|
dj-database-url \
|
||||||
mysqlclient \
|
mysqlclient \
|
||||||
typing \
|
typing \
|
||||||
|
@ -3,4 +3,4 @@ and you should refer to that repo for information. The upstream repo is MIT
|
|||||||
licensed.
|
licensed.
|
||||||
|
|
||||||
The contents in this dir are based on commit
|
The contents in this dir are based on commit
|
||||||
22b3b7d4024a00e9896837fa04883cbaeef38b20.
|
13411cbe624f5b590f14b801200b7dc107624511.
|
||||||
|
@ -7,7 +7,7 @@ function wait_for_postgres () {
|
|||||||
# moving forward.
|
# moving forward.
|
||||||
# TODO: Use python's psycopg2 module to do this in python instead of
|
# TODO: Use python's psycopg2 module to do this in python instead of
|
||||||
# installing postgres-client in the image.
|
# installing postgres-client in the image.
|
||||||
until psql $DATABASE_URL -c '\l'; do
|
until psql -P pager=off $DATABASE_URL -c '\l'; do
|
||||||
>&2 echo "Postgres is unavailable - sleeping"
|
>&2 echo "Postgres is unavailable - sleeping"
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
@ -49,13 +49,11 @@ SITE_ID = 1
|
|||||||
# See https://docs.djangoproject.com/en/3.1/ref/settings/#allowed-hosts
|
# See https://docs.djangoproject.com/en/3.1/ref/settings/#allowed-hosts
|
||||||
ALLOWED_HOSTS = [
|
ALLOWED_HOSTS = [
|
||||||
"localhost", # Archiving API from Mailman, keep it.
|
"localhost", # Archiving API from Mailman, keep it.
|
||||||
# "lists.your-domain.org",
|
|
||||||
# Add here all production URLs you may have.
|
|
||||||
"mailman-web",
|
"mailman-web",
|
||||||
gethostbyname("mailman-web"),
|
gethostbyname("mailman-web"),
|
||||||
os.environ.get('SERVE_FROM_DOMAIN'),
|
os.environ.get('SERVE_FROM_DOMAIN'),
|
||||||
os.environ.get('DJANGO_ALLOWED_HOSTS'),
|
|
||||||
]
|
]
|
||||||
|
ALLOWED_HOSTS.extend(os.getenv("DJANGO_ALLOWED_HOSTS", "").split(","))
|
||||||
|
|
||||||
# Mailman API credentials
|
# Mailman API credentials
|
||||||
MAILMAN_REST_API_URL = os.environ.get('MAILMAN_REST_URL', 'http://mailman-core:8001')
|
MAILMAN_REST_API_URL = os.environ.get('MAILMAN_REST_URL', 'http://mailman-core:8001')
|
||||||
@ -178,7 +176,7 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||||||
|
|
||||||
LANGUAGE_CODE = 'en-us'
|
LANGUAGE_CODE = 'en-us'
|
||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
TIME_ZONE = os.environ.get('TZ', 'UTC')
|
||||||
|
|
||||||
USE_I18N = True
|
USE_I18N = True
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
mailmanclient==3.3.4
|
mailmanclient==3.3.5
|
||||||
postorius==1.3.7
|
postorius==1.3.8
|
||||||
hyperkitty==1.3.6
|
hyperkitty==1.3.7
|
||||||
django-mailman3==1.3.8
|
django-mailman3==1.3.9
|
||||||
|
Loading…
Reference in New Issue
Block a user