From fc9666248d259650abfa7d50fdc1e40cbca408b0 Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Thu, 14 Jul 2022 16:12:07 +0200 Subject: [PATCH] Update to PHP 8 and Alpine Linux 3.16 (#289) Co-authored-by: CrazyMax --- Dockerfile | 64 +++++++++---------- rootfs/etc/cont-init.d/02-fix-perms.sh | 6 +- rootfs/etc/cont-init.d/03-config.sh | 16 ++--- rootfs/etc/cont-init.d/04-svc-main.sh | 4 +- rootfs/etc/cont-init.d/06-svc-syslogng.sh | 4 +- rootfs/etc/cont-init.d/08-svc-snmptrapd.sh | 2 +- rootfs/etc/syslog-ng/syslog-ng.conf | 2 +- rootfs/tpls/etc/nginx/nginx.conf | 2 +- .../etc/{php7 => php8}/conf.d/opcache.ini | 0 .../etc/{php7 => php8}/php-fpm.d/www.conf | 4 +- 10 files changed, 52 insertions(+), 52 deletions(-) rename rootfs/tpls/etc/{php7 => php8}/conf.d/opcache.ini (100%) rename rootfs/tpls/etc/{php7 => php8}/php-fpm.d/www.conf (87%) diff --git a/Dockerfile b/Dockerfile index ba7e23c..c00f68f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ARG LIBRENMS_VERSION="22.6.0" FROM crazymax/yasu:latest AS yasu -FROM crazymax/alpine-s6:3.15-2.2.0.3 +FROM crazymax/alpine-s6:3.16-2.2.0.3 COPY --from=yasu / / RUN apk --update --no-cache add \ @@ -29,41 +29,41 @@ RUN apk --update --no-cache add \ nmap \ openssl \ perl \ - php7 \ - php7-cli \ - php7-ctype \ - php7-curl \ - php7-dom \ - php7-fileinfo \ - php7-fpm \ - php7-gd \ - php7-gmp \ - php7-json \ - php7-ldap \ - php7-mbstring \ - php7-mcrypt \ - php7-memcached \ - php7-mysqlnd \ - php7-opcache \ - php7-openssl \ - php7-pdo \ - php7-pdo_mysql \ - php7-pear \ - php7-phar \ - php7-posix \ - php7-session \ - php7-simplexml \ - php7-snmp \ - php7-sockets \ - php7-tokenizer \ - php7-xml \ - php7-zip \ + php8 \ + php8-cli \ + php8-ctype \ + php8-curl \ + php8-dom \ + php8-fileinfo \ + php8-fpm \ + php8-gd \ + php8-gmp \ + php8-json \ + php8-ldap \ + php8-mbstring \ + php8-mysqlnd \ + php8-opcache \ + php8-openssl \ + php8-pdo \ + php8-pdo_mysql \ + php8-pecl-mcrypt \ + php8-pecl-memcached \ + php8-pear \ + php8-phar \ + php8-posix \ + php8-session \ + php8-simplexml \ + php8-snmp \ + php8-sockets \ + php8-tokenizer \ + php8-xml \ + php8-zip \ python3 \ py3-pip \ rrdtool \ runit \ shadow \ - syslog-ng=3.30.1-r4 \ + syslog-ng=3.36.1-r0 \ ttf-dejavu \ tzdata \ util-linux \ @@ -120,7 +120,7 @@ RUN apk --update --no-cache add -t build-dependencies \ && echo "foreach (glob(\"/data/config/*.php\") as \$filename) include \$filename;" >> config.php \ && echo "foreach (glob(\"${LIBRENMS_PATH}/config.d/*.php\") as \$filename) include \$filename;" >> config.php \ && git clone https://github.com/librenms-plugins/Weathermap.git ./html/plugins/Weathermap \ - && chown -R nobody.nogroup ${LIBRENMS_PATH} \ + && chown -R nobody:nogroup ${LIBRENMS_PATH} \ && apk del build-dependencies \ && rm -rf .git \ html/plugins/Test \ diff --git a/rootfs/etc/cont-init.d/02-fix-perms.sh b/rootfs/etc/cont-init.d/02-fix-perms.sh index 44f20c1..dd490c4 100644 --- a/rootfs/etc/cont-init.d/02-fix-perms.sh +++ b/rootfs/etc/cont-init.d/02-fix-perms.sh @@ -6,16 +6,16 @@ echo "Fixing perms..." mkdir -p /data \ /var/run/nginx \ /var/run/php-fpm -chown librenms. \ +chown librenms:librenms \ /data \ "${LIBRENMS_PATH}" \ "${LIBRENMS_PATH}/.env" -chown -R librenms. \ +chown -R librenms:librenms \ "${LIBRENMS_PATH}/html/plugins/Weathermap/output" \ /home/librenms \ /tpls \ /var/lib/nginx \ /var/log/nginx \ - /var/log/php7 \ + /var/log/php8 \ /var/run/nginx \ /var/run/php-fpm diff --git a/rootfs/etc/cont-init.d/03-config.sh b/rootfs/etc/cont-init.d/03-config.sh index fc5b7d6..1f80cf9 100644 --- a/rootfs/etc/cont-init.d/03-config.sh +++ b/rootfs/etc/cont-init.d/03-config.sh @@ -56,17 +56,17 @@ echo "Setting PHP-FPM configuration..." sed -e "s/@MEMORY_LIMIT@/$MEMORY_LIMIT/g" \ -e "s/@UPLOAD_MAX_SIZE@/$UPLOAD_MAX_SIZE/g" \ -e "s/@CLEAR_ENV@/$CLEAR_ENV/g" \ - /tpls/etc/php7/php-fpm.d/www.conf >/etc/php7/php-fpm.d/www.conf + /tpls/etc/php8/php-fpm.d/www.conf >/etc/php8/php-fpm.d/www.conf echo "Setting PHP INI configuration..." -sed -i "s|memory_limit.*|memory_limit = ${MEMORY_LIMIT}|g" /etc/php7/php.ini -sed -i "s|;date\.timezone.*|date\.timezone = ${TZ}|g" /etc/php7/php.ini -sed -i "s|;max_input_vars.*|max_input_vars = ${MAX_INPUT_VARS}|g" /etc/php7/php.ini +sed -i "s|memory_limit.*|memory_limit = ${MEMORY_LIMIT}|g" /etc/php8/php.ini +sed -i "s|;date\.timezone.*|date\.timezone = ${TZ}|g" /etc/php8/php.ini +sed -i "s|;max_input_vars.*|max_input_vars = ${MAX_INPUT_VARS}|g" /etc/php8/php.ini # OpCache echo "Setting OpCache configuration..." sed -e "s/@OPCACHE_MEM_SIZE@/$OPCACHE_MEM_SIZE/g" \ - /tpls/etc/php7/conf.d/opcache.ini >/etc/php7/conf.d/opcache.ini + /tpls/etc/php8/conf.d/opcache.ini >/etc/php8/conf.d/opcache.ini # Nginx echo "Setting Nginx configuration..." @@ -194,13 +194,13 @@ for plugin in ${plugins}; do rm -rf "${LIBRENMS_PATH}/html/plugins/${plugin}" fi ln -sf "/data/plugins/${plugin}" "${LIBRENMS_PATH}/html/plugins/${plugin}" - chown -h librenms. "${LIBRENMS_PATH}/html/plugins/${plugin}" + chown -h librenms:librenms "${LIBRENMS_PATH}/html/plugins/${plugin}" done # Fix perms echo "Fixing perms..." -chown librenms. /data/config /data/monitoring-plugins /data/plugins /data/rrd /data/weathermap /data/alert-templates -chown -R librenms. /data/logs ${LIBRENMS_PATH}/config.d ${LIBRENMS_PATH}/bootstrap ${LIBRENMS_PATH}/logs ${LIBRENMS_PATH}/storage +chown librenms:librenms /data/config /data/monitoring-plugins /data/plugins /data/rrd /data/weathermap /data/alert-templates +chown -R librenms:librenms /data/logs ${LIBRENMS_PATH}/config.d ${LIBRENMS_PATH}/bootstrap ${LIBRENMS_PATH}/logs ${LIBRENMS_PATH}/storage chmod ug+rw /data/logs /data/rrd ${LIBRENMS_PATH}/bootstrap/cache ${LIBRENMS_PATH}/storage ${LIBRENMS_PATH}/storage/framework/* # Check additional Monitoring plugins diff --git a/rootfs/etc/cont-init.d/04-svc-main.sh b/rootfs/etc/cont-init.d/04-svc-main.sh index 4747823..6d6c8ba 100644 --- a/rootfs/etc/cont-init.d/04-svc-main.sh +++ b/rootfs/etc/cont-init.d/04-svc-main.sh @@ -47,7 +47,7 @@ NODE_ID=$(php -r "echo uniqid();") EOL fi cat "/data/.env" >>"${LIBRENMS_PATH}/.env" -chown librenms. /data/.env "${LIBRENMS_PATH}/.env" +chown librenms:librenms /data/.env "${LIBRENMS_PATH}/.env" file_env 'DB_PASSWORD' if [ -z "$DB_PASSWORD" ]; then @@ -98,7 +98,7 @@ cat >/etc/services.d/php-fpm/run <> Sidecar syslog-ng container detected" echo ">>" mkdir -p /data/syslog-ng /run/syslog-ng -chown librenms. /data/syslog-ng -chown -R librenms. /run/syslog-ng +chown librenms:librenms /data/syslog-ng +chown -R librenms:librenms /run/syslog-ng # Create service mkdir -p /etc/services.d/syslogng diff --git a/rootfs/etc/cont-init.d/08-svc-snmptrapd.sh b/rootfs/etc/cont-init.d/08-svc-snmptrapd.sh index 8d723e8..4837606 100644 --- a/rootfs/etc/cont-init.d/08-svc-snmptrapd.sh +++ b/rootfs/etc/cont-init.d/08-svc-snmptrapd.sh @@ -24,7 +24,7 @@ echo ">> Sidecar snmptrapd container detected" echo ">>" mkdir -p /run/snmptrapd -chown -R librenms. /run/snmptrapd +chown -R librenms:librenms /run/snmptrapd sed -ie "s/@LIBRENMS_SNMP_COMMUNITY@/${LIBRENMS_SNMP_COMMUNITY}/" /etc/snmp/snmptrapd.conf sed -ie "s/@SNMP_PROCESSING_TYPE@/${SNMP_PROCESSING_TYPE}/" /etc/snmp/snmptrapd.conf diff --git a/rootfs/etc/syslog-ng/syslog-ng.conf b/rootfs/etc/syslog-ng/syslog-ng.conf index 24ea7b3..7cd247e 100644 --- a/rootfs/etc/syslog-ng/syslog-ng.conf +++ b/rootfs/etc/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version:3.30 +@version:3.36 options { chain_hostnames(off); diff --git a/rootfs/tpls/etc/nginx/nginx.conf b/rootfs/tpls/etc/nginx/nginx.conf index 1bfd13b..31b0daa 100644 --- a/rootfs/tpls/etc/nginx/nginx.conf +++ b/rootfs/tpls/etc/nginx/nginx.conf @@ -89,7 +89,7 @@ http { fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; - fastcgi_pass unix:/var/run/php-fpm/php-fpm7.sock; + fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_buffers 256 4k; fastcgi_buffer_size 32k; fastcgi_intercept_errors on; diff --git a/rootfs/tpls/etc/php7/conf.d/opcache.ini b/rootfs/tpls/etc/php8/conf.d/opcache.ini similarity index 100% rename from rootfs/tpls/etc/php7/conf.d/opcache.ini rename to rootfs/tpls/etc/php8/conf.d/opcache.ini diff --git a/rootfs/tpls/etc/php7/php-fpm.d/www.conf b/rootfs/tpls/etc/php8/php-fpm.d/www.conf similarity index 87% rename from rootfs/tpls/etc/php7/php-fpm.d/www.conf rename to rootfs/tpls/etc/php8/php-fpm.d/www.conf index b2301d7..a120cea 100644 --- a/rootfs/tpls/etc/php7/php-fpm.d/www.conf +++ b/rootfs/tpls/etc/php8/php-fpm.d/www.conf @@ -1,10 +1,10 @@ [global] -pid = /var/run/php-fpm/php-fpm7.pid +pid = /var/run/php-fpm/php-fpm.pid daemonize = no error_log = /proc/self/fd/2 [www] -listen = /var/run/php-fpm/php-fpm7.sock +listen = /var/run/php-fpm/php-fpm.sock access.log = /dev/null pm = dynamic