mirror of
https://github.com/Mailu/Mailu.git
synced 2025-06-02 23:17:26 +02:00
Upgrade alpine, node, PHP and snappymail
This commit is contained in:
parent
98848b45c7
commit
0e522fceb7
@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile-upstream:1.4.3
|
||||
|
||||
FROM node:16-alpine3.16
|
||||
FROM node:21-alpine3.18
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
# base system image (intermediate)
|
||||
# Note when updating the alpine tag, first manually run the workflow .github/workflows/mirror.yml.
|
||||
# Just run the workflow with the tag that must be synchronised.
|
||||
ARG DISTRO=ghcr.io/mailu/alpine:3.18.4
|
||||
ARG DISTRO=ghcr.io/mailu/alpine:3.19.0
|
||||
FROM $DISTRO as system
|
||||
|
||||
ENV TZ=Etc/UTC LANG=C.UTF-8
|
||||
@ -64,8 +64,10 @@ RUN set -euxo pipefail \
|
||||
; curl -sL ${SNUFFLEUPAGUS_URL} | tar xz \
|
||||
; cd snuffleupagus-${SNUFFLEUPAGUS_VERSION} \
|
||||
; rm -rf src/tests/*php7*/ src/tests/*session*/ src/tests/broken_configuration/ src/tests/*cookie* src/tests/upload_validation/ \
|
||||
; apk add --virtual .build-deps php81-dev php81-cgi php81-simplexml php81-xml pcre-dev build-base php81-pear php81-openssl re2c \
|
||||
; pecl install vld-beta \
|
||||
; apk add --virtual .build-deps php83-dev php83-cgi php83-simplexml php83-xml pcre-dev build-base php83-pear php83-openssl re2c \
|
||||
; pecl83 install vld-beta \
|
||||
; ln -s /usr/bin/phpize83 /usr/bin/phpize \
|
||||
; ln -s /usr/bin/php-config83 /usr/bin/php-config \
|
||||
; make -j $(grep -c processor /proc/cpuinfo) release \
|
||||
; cp src/.libs/snuffleupagus.so /app \
|
||||
; rm -rf /root/.cargo /tmp/*.pem /root/.cache
|
||||
@ -74,7 +76,7 @@ RUN set -euxo pipefail \
|
||||
FROM system
|
||||
|
||||
COPY --from=build /app/venv/ /app/venv/
|
||||
COPY --chown=root:root --from=build /app/snuffleupagus.so /usr/lib/php81/modules/
|
||||
COPY --chown=root:root --from=build /app/snuffleupagus.so /usr/lib/php83/modules/
|
||||
|
||||
ENV \
|
||||
VIRTUAL_ENV=/app/venv \
|
||||
|
1
towncrier/newsfragments/3097.misc
Normal file
1
towncrier/newsfragments/3097.misc
Normal file
@ -0,0 +1 @@
|
||||
Upgrade node from 16 to 21 and alpine from 3.18 to 3.19
|
@ -9,20 +9,22 @@ COPY snappymail/pubkey.asc /tmp/snappymail.asc
|
||||
COPY roundcube/pubkey.asc /tmp/roundcube.asc
|
||||
COPY roundcube/roundcube.diff /tmp/roundcube.diff
|
||||
|
||||
# php83-pecl-imagick php83-pecl-uuid are missing
|
||||
RUN set -euxo pipefail \
|
||||
; apk add --no-cache \
|
||||
nginx gpg gpg-agent patch \
|
||||
php81 php81-fpm php81-mbstring php81-zip php81-xml php81-simplexml php81-pecl-apcu \
|
||||
php81-dom php81-curl php81-exif gd php81-gd php81-iconv php81-intl php81-openssl php81-ctype \
|
||||
php81-pdo_sqlite php81-pdo_mysql php81-pdo_pgsql php81-pdo php81-sodium libsodium php81-tidy php81-pecl-uuid \
|
||||
php81-pspell php81-pecl-imagick php81-opcache php81-session php81-sockets php81-fileinfo php81-xmlreader php81-xmlwriter \
|
||||
php83 php83-fpm php83-mbstring php83-zip php83-xml php83-simplexml php83-pecl-apcu \
|
||||
php83-dom php83-curl php83-exif gd php83-gd php83-iconv php83-intl php83-openssl php83-ctype \
|
||||
php83-pdo_sqlite php83-pdo_mysql php83-pdo_pgsql php83-pdo php83-sodium libsodium php83-tidy \
|
||||
php83-pspell php83-opcache php83-session php83-sockets php83-fileinfo php83-xmlreader php83-xmlwriter \
|
||||
aspell-uk aspell-ru aspell-fr aspell-de aspell-en \
|
||||
; rm /etc/nginx/http.d/default.conf \
|
||||
; rm /etc/php81/php-fpm.d/www.conf \
|
||||
; rm /etc/php83/php-fpm.d/www.conf \
|
||||
; ln -s /usr/bin/php83 /usr/bin/php \
|
||||
; mkdir -m 700 /root/.gnupg/ \
|
||||
; gpg --import /tmp/snappymail.asc \
|
||||
; gpg --import /tmp/roundcube.asc \
|
||||
; echo extension=snuffleupagus > /etc/php81/conf.d/snuffleupagus.ini \
|
||||
; echo extension=snuffleupagus > /etc/php83/conf.d/snuffleupagus.ini \
|
||||
; rm -f /tmp/roundcube.asc /tmp/snappymail.asc \
|
||||
; mkdir -p /run/nginx /conf
|
||||
|
||||
@ -53,7 +55,7 @@ COPY roundcube/config/config.inc.carddav.php /var/www/roundcube/plugins/carddav/
|
||||
|
||||
# snappymail
|
||||
|
||||
ENV SNAPPYMAIL_URL https://github.com/the-djmaze/snappymail/releases/download/v2.29.1/snappymail-2.29.1.tar.gz
|
||||
ENV SNAPPYMAIL_URL https://github.com/the-djmaze/snappymail/releases/download/v2.31.0/snappymail-2.31.0.tar.gz
|
||||
|
||||
RUN set -euxo pipefail \
|
||||
; mkdir /var/www/snappymail \
|
||||
@ -83,7 +85,7 @@ RUN set -euxo pipefail \
|
||||
# common
|
||||
COPY start.py /
|
||||
COPY php.ini /defaults/
|
||||
COPY php-webmail.conf /etc/php81/php-fpm.d/
|
||||
COPY php-webmail.conf /etc/php83/php-fpm.d/
|
||||
COPY nginx-webmail.conf /conf/
|
||||
COPY snuffleupagus.rules /etc/snuffleupagus.rules.tpl
|
||||
|
||||
|
@ -77,7 +77,7 @@ os.makedirs(base + "configs", exist_ok=True)
|
||||
|
||||
conf.jinja("/defaults/default.json", context, "/data/_data_/_default_/domains/default.json")
|
||||
conf.jinja("/defaults/application.ini", context, "/data/_data_/_default_/configs/application.ini")
|
||||
conf.jinja("/defaults/php.ini", context, "/etc/php81/php.ini")
|
||||
conf.jinja("/defaults/php.ini", context, "/etc/php83/php.ini")
|
||||
|
||||
# setup permissions
|
||||
os.system("chown -R mailu:mailu /data")
|
||||
@ -120,6 +120,6 @@ if os.path.exists("/var/run/nginx.pid"):
|
||||
system.clean_env()
|
||||
|
||||
# run nginx
|
||||
os.system("php-fpm81")
|
||||
os.system("php-fpm83")
|
||||
os.execv("/usr/sbin/nginx", ["nginx", "-g", "daemon off;"])
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user