diff options
| author | wn_ <invalid@email.com> | 2024-12-09 18:54:02 +0000 |
|---|---|---|
| committer | wn_ <invalid@email.com> | 2024-12-09 18:54:02 +0000 |
| commit | 133e8ea2a4eb5fd6e767e3322ca9059abf48ca3c (patch) | |
| tree | c955f2e1bedb62e95e435b2cefb4f88f739f3d74 | |
| parent | f6a8facfd4bfc40025c069eebc37094d826aff58 (diff) | |
Centralize the PHP version suffix used for packages and paths.
| -rw-r--r-- | .docker/app/Dockerfile | 24 | ||||
| -rw-r--r-- | .docker/app/startup.sh | 26 | ||||
| -rw-r--r-- | .docker/app/updater.sh | 4 |
3 files changed, 29 insertions, 25 deletions
diff --git a/.docker/app/Dockerfile b/.docker/app/Dockerfile index a9e15ee88..52e7c3ae9 100644 --- a/.docker/app/Dockerfile +++ b/.docker/app/Dockerfile @@ -8,15 +8,19 @@ ARG ALPINE_MIRROR ENV SCRIPT_ROOT=/opt/tt-rss ENV SRC_DIR=/src/tt-rss/ +# Used to centralize the PHP version suffix for packages and paths +ENV PHP_SUFFIX=84 + RUN [ ! -z ${ALPINE_MIRROR} ] && \ - sed -i.bak "s#dl-cdn.alpinelinux.org#${ALPINE_MIRROR}#" /etc/apk/repositories ; \ - apk add --no-cache dcron php84 php84-fpm php84-phar php84-sockets php84-pecl-apcu \ - php84-pdo php84-gd php84-pgsql php84-pdo_pgsql php84-xmlwriter php84-opcache \ - php84-mbstring php84-intl php84-xml php84-curl php84-simplexml \ - php84-session php84-tokenizer php84-dom php84-fileinfo php84-ctype \ - php84-json php84-iconv php84-pcntl php84-posix php84-zip php84-exif \ - php84-openssl git postgresql-client sudo php84-pecl-xdebug rsync tzdata && \ - sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php84/php.ini && \ + sed -i.bak "s#dl-cdn.alpinelinux.org#${ALPINE_MIRROR}#" /etc/apk/repositories ; \ + apk add --no-cache dcron php${PHP_SUFFIX} \ + $(for p in ctype curl dom exif fileinfo fpm gd iconv intl json mbstring opcache \ + openssl pcntl pdo pdo_pgsql pecl-apcu pecl-xdebug phar posix session simplexml sockets tokenizer xml xmlwriter zip; do \ + php_pkgs="$php_pkgs php${PHP_SUFFIX}-$p"; \ + done; \ + echo $php_pkgs) \ + git postgresql-client rsync sudo tzdata && \ + sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php${PHP_SUFFIX}/php.ini && \ sed -i -e 's/^listen = 127.0.0.1:9000/listen = 9000/' \ -e 's/;\(clear_env\) = .*/\1 = no/i' \ -e 's/;\(pm.status_path = \/status\)/\1/i' \ @@ -24,7 +28,7 @@ RUN [ ! -z ${ALPINE_MIRROR} ] && \ -e 's/^\(user\|group\) = .*/\1 = app/i' \ -e 's/;\(php_admin_value\[error_log\]\) = .*/\1 = \/tmp\/error.log/' \ -e 's/;\(php_admin_flag\[log_errors\]\) = .*/\1 = on/' \ - /etc/php84/php-fpm.d/www.conf && \ + /etc/php${PHP_SUFFIX}/php-fpm.d/www.conf && \ mkdir -p /var/www ${SCRIPT_ROOT}/config.d ${SCRIPT_ROOT}/sql/post-init.d ARG CI_COMMIT_BRANCH @@ -92,7 +96,7 @@ ENV TTRSS_DB_HOST="db" ENV TTRSS_DB_PORT="5432" ENV TTRSS_MYSQL_CHARSET="UTF8" -ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php84" +ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php${PHP_SUFFIX}" ENV TTRSS_PLUGINS="auth_internal, note, nginx_xaccel" CMD ${SCRIPT_ROOT}/startup.sh diff --git a/.docker/app/startup.sh b/.docker/app/startup.sh index 934bedcf6..cf93b7413 100644 --- a/.docker/app/startup.sh +++ b/.docker/app/startup.sh @@ -65,7 +65,7 @@ sudo -u app cp ${SCRIPT_ROOT}/config.docker.php $DST_DIR/config.php chmod 644 $DST_DIR/config.php chown -R $OWNER_UID:$OWNER_GID $DST_DIR \ - /var/log/php84 + /var/log/php${PHP_SUFFIX} if [ -z "$TTRSS_NO_STARTUP_PLUGIN_UPDATES" ]; then echo updating all local plugins... @@ -97,7 +97,7 @@ if [ ! -z "${TTRSS_XDEBUG_ENABLED}" ]; then fi echo enabling xdebug with the following parameters: env | grep TTRSS_XDEBUG - cat > /etc/php84/conf.d/50_xdebug.ini <<EOF + cat > /etc/php${PHP_SUFFIX}/conf.d/50_xdebug.ini <<EOF zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request = yes @@ -107,17 +107,17 @@ EOF fi sed -i.bak "s/^\(memory_limit\) = \(.*\)/\1 = ${PHP_WORKER_MEMORY_LIMIT}/" \ - /etc/php84/php.ini + /etc/php${PHP_SUFFIX}/php.ini sed -i.bak "s/^\(pm.max_children\) = \(.*\)/\1 = ${PHP_WORKER_MAX_CHILDREN}/" \ - /etc/php84/php-fpm.d/www.conf + /etc/php${PHP_SUFFIX}/php-fpm.d/www.conf -sudo -Eu app php84 $DST_DIR/update.php --update-schema=force-yes +sudo -Eu app php${PHP_SUFFIX} $DST_DIR/update.php --update-schema=force-yes if [ ! -z "$ADMIN_USER_PASS" ]; then - sudo -Eu app php84 $DST_DIR/update.php --user-set-password "admin:$ADMIN_USER_PASS" + sudo -Eu app php${PHP_SUFFIX} $DST_DIR/update.php --user-set-password "admin:$ADMIN_USER_PASS" else - if sudo -Eu app php84 $DST_DIR/update.php --user-check-password "admin:password"; then + if sudo -Eu app php${PHP_SUFFIX} $DST_DIR/update.php --user-check-password "admin:password"; then RANDOM_PASS=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 16 ; echo '') echo "*****************************************************************************" @@ -125,21 +125,21 @@ else echo "* If you want to set it manually, use ADMIN_USER_PASS environment variable. *" echo "*****************************************************************************" - sudo -Eu app php84 $DST_DIR/update.php --user-set-password "admin:$RANDOM_PASS" + sudo -Eu app php${PHP_SUFFIX} $DST_DIR/update.php --user-set-password "admin:$RANDOM_PASS" fi fi if [ ! -z "$ADMIN_USER_ACCESS_LEVEL" ]; then - sudo -Eu app php84 $DST_DIR/update.php --user-set-access-level "admin:$ADMIN_USER_ACCESS_LEVEL" + sudo -Eu app php${PHP_SUFFIX} $DST_DIR/update.php --user-set-access-level "admin:$ADMIN_USER_ACCESS_LEVEL" fi if [ ! -z "$AUTO_CREATE_USER" ]; then - sudo -Eu app /bin/sh -c "php84 $DST_DIR/update.php --user-exists $AUTO_CREATE_USER || - php84 $DST_DIR/update.php --force-yes --user-add \"$AUTO_CREATE_USER:$AUTO_CREATE_USER_PASS:$AUTO_CREATE_USER_ACCESS_LEVEL\"" + sudo -Eu app /bin/sh -c "php${PHP_SUFFIX} $DST_DIR/update.php --user-exists $AUTO_CREATE_USER || + php${PHP_SUFFIX} $DST_DIR/update.php --force-yes --user-add \"$AUTO_CREATE_USER:$AUTO_CREATE_USER_PASS:$AUTO_CREATE_USER_ACCESS_LEVEL\"" if [ ! -z "$AUTO_CREATE_USER_ENABLE_API" ]; then # TODO: remove || true later - sudo -Eu app /bin/sh -c "php84 $DST_DIR/update.php --user-enable-api \"$AUTO_CREATE_USER:$AUTO_CREATE_USER_ENABLE_API\"" || true + sudo -Eu app /bin/sh -c "php${PHP_SUFFIX} $DST_DIR/update.php --user-enable-api \"$AUTO_CREATE_USER:$AUTO_CREATE_USER_ENABLE_API\"" || true fi fi @@ -158,4 +158,4 @@ done touch $DST_DIR/.app_is_ready -exec /usr/sbin/php-fpm84 --nodaemonize --force-stderr +exec /usr/sbin/php-fpm${PHP_SUFFIX} --nodaemonize --force-stderr diff --git a/.docker/app/updater.sh b/.docker/app/updater.sh index 378ac930b..c35982a44 100644 --- a/.docker/app/updater.sh +++ b/.docker/app/updater.sh @@ -21,7 +21,7 @@ while ! pg_isready -h $TTRSS_DB_HOST -U $TTRSS_DB_USER -p $TTRSS_DB_PORT; do done sed -i.bak "s/^\(memory_limit\) = \(.*\)/\1 = ${PHP_WORKER_MEMORY_LIMIT}/" \ - /etc/php84/php.ini + /etc/php${PHP_SUFFIX}/php.ini DST_DIR=/var/www/html/tt-rss @@ -30,4 +30,4 @@ while [ ! -s $DST_DIR/config.php -a -e $DST_DIR/.app_is_ready ]; do sleep 3 done -sudo -E -u app /usr/bin/php84 /var/www/html/tt-rss/update_daemon2.php "$@" +sudo -E -u app "${TTRSS_PHP_EXECUTABLE}" /var/www/html/tt-rss/update_daemon2.php "$@" |