From 781666d860606b4af7234b9666b6a758296d4d2d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 16 Jul 2022 16:32:11 +0300 Subject: [PATCH 1/3] Revert "Revert "switch to php 8.1"" This reverts commit 9a19d11d1ab49d334a1287f9990900b61d1d52d7. --- app/Dockerfile | 20 ++++++++++---------- app/startup.sh | 27 +++++++++++++++------------ app/updater.sh | 4 ++-- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/app/Dockerfile b/app/Dockerfile index d45c0c8..231b204 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,21 +1,21 @@ -FROM alpine:3.14 +FROM alpine:3.16 EXPOSE 9000/tcp ENV SCRIPT_ROOT=/opt/tt-rss -RUN apk add --no-cache dcron php8 php8-fpm \ - php8-pdo php8-gd php8-pgsql php8-pdo_pgsql \ - php8-mbstring php8-intl php8-xml php8-curl \ - php8-session php8-tokenizer php8-dom php8-fileinfo \ - php8-json php8-iconv php8-pcntl php8-posix php8-zip php8-exif \ - php8-openssl git postgresql-client sudo php8-pecl-xdebug rsync && \ - sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php8/php.ini && \ +RUN apk add --no-cache dcron php81 php81-fpm \ + php81-pdo php81-gd php81-pgsql php81-pdo_pgsql \ + php81-mbstring php81-intl php81-xml php81-curl \ + php81-session php81-tokenizer php81-dom php81-fileinfo \ + php81-json php81-iconv php81-pcntl php81-posix php81-zip php81-exif \ + php81-openssl git postgresql-client sudo php81-pecl-xdebug rsync && \ + sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php81/php.ini && \ sed -i -e 's/^listen = 127.0.0.1:9000/listen = 9000/' \ -e 's/;\(clear_env\) = .*/\1 = no/i' \ -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/php8/php-fpm.d/www.conf && \ + /etc/php81/php-fpm.d/www.conf && \ mkdir -p /var/www ${SCRIPT_ROOT}/config.d ADD startup.sh ${SCRIPT_ROOT} @@ -61,7 +61,7 @@ ENV TTRSS_DB_HOST="db" ENV TTRSS_DB_PORT="5432" ENV TTRSS_MYSQL_CHARSET="UTF8" -ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php8" +ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php81" ENV TTRSS_PLUGINS="auth_internal, note, nginx_xaccel" CMD ${SCRIPT_ROOT}/startup.sh diff --git a/app/startup.sh b/app/startup.sh index 48a9408..946e8c6 100755 --- a/app/startup.sh +++ b/app/startup.sh @@ -90,7 +90,7 @@ for d in cache lock feed-icons; do done chown -R $OWNER_UID:$OWNER_GID $DST_DIR \ - /var/log/php8 + /var/log/php81 $PSQL -c "create extension if not exists pg_trgm" @@ -110,7 +110,7 @@ if [ ! -z "${TTRSS_XDEBUG_ENABLED}" ]; then fi echo enabling xdebug with the following parameters: env | grep TTRSS_XDEBUG - cat > /etc/php8/conf.d/50_xdebug.ini < /etc/php81/conf.d/50_xdebug.ini < Date: Sat, 16 Jul 2022 16:39:44 +0300 Subject: [PATCH 2/3] add php ctype module for readability --- app/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Dockerfile b/app/Dockerfile index 231b204..a92907a 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -6,7 +6,7 @@ ENV SCRIPT_ROOT=/opt/tt-rss RUN apk add --no-cache dcron php81 php81-fpm \ php81-pdo php81-gd php81-pgsql php81-pdo_pgsql \ php81-mbstring php81-intl php81-xml php81-curl \ - php81-session php81-tokenizer php81-dom php81-fileinfo \ + php81-session php81-tokenizer php81-dom php81-fileinfo php81-ctype \ php81-json php81-iconv php81-pcntl php81-posix php81-zip php81-exif \ php81-openssl git postgresql-client sudo php81-pecl-xdebug rsync && \ sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php81/php.ini && \ From 14ebd6bbeea4b20a947929f809390b9f9af2ed91 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 25 Jul 2022 21:58:44 +0300 Subject: [PATCH 3/3] add envvar to enable core dumps, disable xdebug tracing --- app/startup.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/startup.sh b/app/startup.sh index 946e8c6..560cc40 100755 --- a/app/startup.sh +++ b/app/startup.sh @@ -104,6 +104,20 @@ fi # this was previously generated rm -f $DST_DIR/config.php.bak +if [ ! -z "${TTRSS_CORE_DUMPS_ENABLED}" ]; then + apk add gdb + + echo "don't forget to enable core dumps on the host:" + echo "echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern" + echo "then run gdb /usr/sbin/php-fpm81 /tmp/coredump-php-fpm-xyz" + + # enable core dumps + sed -i.bak \ + -e 's/;\(rlimit_core\) = .*/\1 = unlimited/' \ + -e 's/; *\(process.dumpable\) = .*/\1 = yes/' \ + /etc/php81/php-fpm.d/www.conf +fi + if [ ! -z "${TTRSS_XDEBUG_ENABLED}" ]; then if [ -z "${TTRSS_XDEBUG_HOST}" ]; then export TTRSS_XDEBUG_HOST=$(ip ro sh 0/0 | cut -d " " -f 3) @@ -112,7 +126,7 @@ if [ ! -z "${TTRSS_XDEBUG_ENABLED}" ]; then env | grep TTRSS_XDEBUG cat > /etc/php81/conf.d/50_xdebug.ini <