summaryrefslogtreecommitdiff
path: root/.docker/app
diff options
context:
space:
mode:
authorwn_ <invalid@email.com>2024-12-09 18:54:02 +0000
committerwn_ <invalid@email.com>2024-12-09 18:54:02 +0000
commit133e8ea2a4eb5fd6e767e3322ca9059abf48ca3c (patch)
treec955f2e1bedb62e95e435b2cefb4f88f739f3d74 /.docker/app
parentf6a8facfd4bfc40025c069eebc37094d826aff58 (diff)
Centralize the PHP version suffix used for packages and paths.
Diffstat (limited to '.docker/app')
-rw-r--r--.docker/app/Dockerfile24
-rw-r--r--.docker/app/startup.sh26
-rw-r--r--.docker/app/updater.sh4
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 "$@"