1
0
Fork 0
mirror of https://github.com/librenms/docker.git synced 2026-01-23 02:14:48 +00:00

Update to PHP 8 and Alpine Linux 3.16 (#289)

Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2022-07-14 16:12:07 +02:00 committed by GitHub
parent a9e2bbf252
commit fc9666248d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 52 additions and 52 deletions

View file

@ -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 \

View file

@ -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

View file

@ -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

View file

@ -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 <<EOL
#!/usr/bin/execlineb -P
with-contenv
s6-setuidgid ${PUID}:${PGID}
php-fpm7 -F
php-fpm8 -F
EOL
chmod +x /etc/services.d/php-fpm/run

View file

@ -14,8 +14,8 @@ echo ">> 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

View file

@ -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

View file

@ -1,4 +1,4 @@
@version:3.30
@version:3.36
options {
chain_hostnames(off);

View file

@ -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;

View file

@ -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