diff --git a/Dockerfile b/Dockerfile index dc523f0..1654a13 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ -FROM alpine:3.10 +FROM alpine:latest LABEL description "Rainloop is a simple, modern & fast web-based client" \ maintainer="Hardware " ARG GPG_FINGERPRINT="3B79 7ECE 694F 3B7B 70F3 11A4 ED7C 49D9 87DA 4591" +ARG RAINLOOP_VERSION=1.17.0 ENV UID=991 GID=991 UPLOAD_MAX_SIZE=25M LOG_TO_STDOUT=false MEMORY_LIMIT=128M -RUN echo "@community https://nl.alpinelinux.org/alpine/v3.10/community" >> /etc/apk/repositories \ - && apk -U upgrade \ +RUN apk -U upgrade \ && apk add -t build-dependencies \ gnupg \ openssl \ @@ -18,34 +18,35 @@ RUN echo "@community https://nl.alpinelinux.org/alpine/v3.10/community" >> /etc/ nginx \ s6 \ su-exec \ - php7-fpm@community \ - php7-curl@community \ - php7-iconv@community \ - php7-xml@community \ - php7-dom@community \ - php7-openssl@community \ - php7-json@community \ - php7-zlib@community \ - php7-pdo_pgsql@community \ - php7-pdo_mysql@community \ - php7-pdo_sqlite@community \ - php7-sqlite3@community \ - php7-ldap@community \ - php7-simplexml@community \ - && cd /tmp \ - && wget -q https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip \ - && wget -q https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip.asc \ - && wget -q https://www.rainloop.net/repository/RainLoop.asc \ - && gpg --import RainLoop.asc \ - && FINGERPRINT="$(LANG=C gpg --verify rainloop-community-latest.zip.asc rainloop-community-latest.zip 2>&1 \ - | sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \ - && if [ -z "${FINGERPRINT}" ]; then echo "ERROR: Invalid GPG signature!" && exit 1; fi \ - && if [ "${FINGERPRINT}" != "${GPG_FINGERPRINT}" ]; then echo "ERROR: Wrong GPG fingerprint!" && exit 1; fi \ - && mkdir /rainloop && unzip -q /tmp/rainloop-community-latest.zip -d /rainloop \ - && find /rainloop -type d -exec chmod 755 {} \; \ - && find /rainloop -type f -exec chmod 644 {} \; \ - && apk del build-dependencies \ - && rm -rf /tmp/* /var/cache/apk/* /root/.gnupg + php8-fpm \ + php8-curl \ + php8-iconv \ + php8-xml \ + php8-dom \ + php8-openssl \ + php8-json \ + php8-zlib \ + php8-pdo_pgsql \ + php8-pdo_mysql \ + php8-pdo_sqlite \ + php8-sqlite3 \ + php8-ldap \ + php8-simplexml +WORKDIR /tmp +RUN set -ex ; \ + wget -q https://github.com/RainLoop/rainloop-webmail/releases/download/v1.17.0/rainloop-legacy-${RAINLOOP_VERSION}.zip ; \ + wget -q https://github.com/RainLoop/rainloop-webmail/releases/download/v1.17.0/rainloop-legacy-${RAINLOOP_VERSION}.zip.asc ; \ + wget -q https://www.rainloop.net/repository/RainLoop.asc ; \ + gpg --import RainLoop.asc ; \ + FINGERPRINT="$(LANG=C gpg --verify rainloop-legacy-${RAINLOOP_VERSION}.zip.asc rainloop-legacy-${RAINLOOP_VERSION}.zip 2>&1 | sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" ; \ + if [ -z "${FINGERPRINT}" ]; then echo "ERROR: Invalid GPG signature!" && exit 1; fi ; \ + if [ "${FINGERPRINT}" != "${GPG_FINGERPRINT}" ]; then echo "ERROR: Wrong GPG fingerprint!" && exit 1; fi ; \ + mkdir /rainloop; \ + unzip -q /tmp/rainloop-legacy-${RAINLOOP_VERSION}.zip -d /rainloop ; \ + find /rainloop -type d -exec chmod 755 {} \; ; \ + find /rainloop -type f -exec chmod 644 {} \; ; \ + apk del build-dependencies ; \ + rm -rf /tmp/* /var/cache/apk/* /root/.gnupg COPY rootfs / RUN chmod +x /usr/local/bin/run.sh /services/*/run /services/.s6-svscan/* diff --git a/rootfs/etc/php7/php-fpm.conf b/rootfs/etc/php8/php-fpm.conf similarity index 100% rename from rootfs/etc/php7/php-fpm.conf rename to rootfs/etc/php8/php-fpm.conf diff --git a/rootfs/services/php/run b/rootfs/services/php/run index e238021..822922a 100644 --- a/rootfs/services/php/run +++ b/rootfs/services/php/run @@ -1,2 +1,2 @@ #!/bin/sh -exec php-fpm7 +exec php-fpm8 diff --git a/rootfs/usr/local/bin/run.sh b/rootfs/usr/local/bin/run.sh index 7cc4d0b..bf0db2f 100644 --- a/rootfs/usr/local/bin/run.sh +++ b/rootfs/usr/local/bin/run.sh @@ -1,8 +1,8 @@ #!/bin/sh # Set attachment size limit -sed -i "s//$UPLOAD_MAX_SIZE/g" /etc/php7/php-fpm.conf /etc/nginx/nginx.conf -sed -i "s//$MEMORY_LIMIT/g" /etc/php7/php-fpm.conf +sed -i "s//$UPLOAD_MAX_SIZE/g" /etc/php8/php-fpm.conf /etc/nginx/nginx.conf +sed -i "s//$MEMORY_LIMIT/g" /etc/php8/php-fpm.conf # Remove postfixadmin-change-password plugin if exist if [ -d "/rainloop/data/_data_/_default_/plugins/postfixadmin-change-password" ]; then @@ -14,7 +14,7 @@ if [ "$LOG_TO_STDOUT" = true ]; then echo "[INFO] Logging to stdout activated" chmod o+w /dev/stdout sed -i "s/.*error_log.*$/error_log \/dev\/stdout warn;/" /etc/nginx/nginx.conf - sed -i "s/.*error_log.*$/error_log = \/dev\/stdout/" /etc/php7/php-fpm.conf + sed -i "s/.*error_log.*$/error_log = \/dev\/stdout/" /etc/php8/php-fpm.conf fi # Add postfixadmin-change-password plugin