mirror of
				https://github.com/optim-enterprises-bv/Mailu-OIDC.git
				synced 2025-10-30 17:47:54 +00:00 
			
		
		
		
	Upgrade alpine, node, PHP and snappymail
This commit is contained in:
		| @@ -1,6 +1,6 @@ | |||||||
| # syntax=docker/dockerfile-upstream:1.4.3 | # syntax=docker/dockerfile-upstream:1.4.3 | ||||||
|  |  | ||||||
| FROM node:16-alpine3.16 | FROM node:21-alpine3.18 | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| # base system image (intermediate) | # base system image (intermediate) | ||||||
| # Note when updating the alpine tag, first manually run the workflow .github/workflows/mirror.yml. | # 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. | # 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 | FROM $DISTRO as system | ||||||
|  |  | ||||||
| ENV TZ=Etc/UTC LANG=C.UTF-8 | ENV TZ=Etc/UTC LANG=C.UTF-8 | ||||||
| @@ -64,8 +64,10 @@ RUN set -euxo pipefail \ | |||||||
|   ; curl -sL ${SNUFFLEUPAGUS_URL} | tar xz \ |   ; curl -sL ${SNUFFLEUPAGUS_URL} | tar xz \ | ||||||
|   ; cd snuffleupagus-${SNUFFLEUPAGUS_VERSION} \ |   ; cd snuffleupagus-${SNUFFLEUPAGUS_VERSION} \ | ||||||
|   ; rm -rf src/tests/*php7*/ src/tests/*session*/ src/tests/broken_configuration/ src/tests/*cookie* src/tests/upload_validation/ \ |   ; 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 \ |   ; apk add --virtual .build-deps php83-dev php83-cgi php83-simplexml php83-xml pcre-dev build-base php83-pear php83-openssl re2c \ | ||||||
|   ; pecl install vld-beta \ |   ; 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 \ |   ; make -j $(grep -c processor /proc/cpuinfo) release \ | ||||||
|   ; cp src/.libs/snuffleupagus.so /app \ |   ; cp src/.libs/snuffleupagus.so /app \ | ||||||
|   ; rm -rf /root/.cargo /tmp/*.pem /root/.cache |   ; rm -rf /root/.cargo /tmp/*.pem /root/.cache | ||||||
| @@ -74,7 +76,7 @@ RUN set -euxo pipefail \ | |||||||
| FROM system | FROM system | ||||||
|  |  | ||||||
| COPY --from=build /app/venv/ /app/venv/ | 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 \ | ENV \ | ||||||
|   VIRTUAL_ENV=/app/venv \ |   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/pubkey.asc /tmp/roundcube.asc | ||||||
| COPY roundcube/roundcube.diff /tmp/roundcube.diff | COPY roundcube/roundcube.diff /tmp/roundcube.diff | ||||||
|  |  | ||||||
|  | # php83-pecl-imagick php83-pecl-uuid are missing | ||||||
| RUN set -euxo pipefail \ | RUN set -euxo pipefail \ | ||||||
|   ; apk add --no-cache \ |   ; apk add --no-cache \ | ||||||
|     nginx gpg gpg-agent patch \ |     nginx gpg gpg-agent patch \ | ||||||
|     php81 php81-fpm php81-mbstring php81-zip php81-xml php81-simplexml php81-pecl-apcu \ |     php83 php83-fpm php83-mbstring php83-zip php83-xml php83-simplexml php83-pecl-apcu \ | ||||||
|     php81-dom php81-curl php81-exif gd php81-gd php81-iconv php81-intl php81-openssl php81-ctype \ |     php83-dom php83-curl php83-exif gd php83-gd php83-iconv php83-intl php83-openssl php83-ctype \ | ||||||
|     php81-pdo_sqlite php81-pdo_mysql php81-pdo_pgsql php81-pdo php81-sodium libsodium php81-tidy php81-pecl-uuid \ |     php83-pdo_sqlite php83-pdo_mysql php83-pdo_pgsql php83-pdo php83-sodium libsodium php83-tidy \ | ||||||
|     php81-pspell php81-pecl-imagick php81-opcache php81-session php81-sockets php81-fileinfo php81-xmlreader php81-xmlwriter \ |     php83-pspell php83-opcache php83-session php83-sockets php83-fileinfo php83-xmlreader php83-xmlwriter \ | ||||||
|     aspell-uk aspell-ru aspell-fr aspell-de aspell-en \ |     aspell-uk aspell-ru aspell-fr aspell-de aspell-en \ | ||||||
|   ; rm /etc/nginx/http.d/default.conf \ |   ; 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/ \ |   ; mkdir -m 700 /root/.gnupg/ \ | ||||||
|   ; gpg --import /tmp/snappymail.asc \ |   ; gpg --import /tmp/snappymail.asc \ | ||||||
|   ; gpg --import /tmp/roundcube.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 \ |   ; rm -f /tmp/roundcube.asc /tmp/snappymail.asc \ | ||||||
|   ; mkdir -p /run/nginx /conf |   ; mkdir -p /run/nginx /conf | ||||||
|  |  | ||||||
| @@ -53,7 +55,7 @@ COPY roundcube/config/config.inc.carddav.php /var/www/roundcube/plugins/carddav/ | |||||||
|  |  | ||||||
| # snappymail | # 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 \ | RUN set -euxo pipefail \ | ||||||
|   ; mkdir  /var/www/snappymail \ |   ; mkdir  /var/www/snappymail \ | ||||||
| @@ -83,7 +85,7 @@ RUN set -euxo pipefail \ | |||||||
| # common | # common | ||||||
| COPY start.py / | COPY start.py / | ||||||
| COPY php.ini /defaults/ | 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 nginx-webmail.conf /conf/ | ||||||
| COPY snuffleupagus.rules /etc/snuffleupagus.rules.tpl | 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/default.json", context, "/data/_data_/_default_/domains/default.json") | ||||||
| conf.jinja("/defaults/application.ini", context, "/data/_data_/_default_/configs/application.ini") | 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 | # setup permissions | ||||||
| os.system("chown -R mailu:mailu /data") | os.system("chown -R mailu:mailu /data") | ||||||
| @@ -120,6 +120,6 @@ if os.path.exists("/var/run/nginx.pid"): | |||||||
| system.clean_env() | system.clean_env() | ||||||
|  |  | ||||||
| # run nginx | # run nginx | ||||||
| os.system("php-fpm81") | os.system("php-fpm83") | ||||||
| os.execv("/usr/sbin/nginx", ["nginx", "-g", "daemon off;"]) | os.execv("/usr/sbin/nginx", ["nginx", "-g", "daemon off;"]) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Florent Daigniere
					Florent Daigniere