Browse Source

ttrss:22.08-5fea1a7ea

John 3 years ago
parent
commit
bf52720c09

+ 1 - 1
.github/workflows/tt-rss.yml

@@ -8,7 +8,7 @@ on:
   workflow_dispatch:
 
 env:
-  TTRSS_VER: 22.07-26c67dba7
+  TTRSS_VER: 22.08-5fea1a7ea
 
 jobs:
   job1:

+ 27 - 24
tt-rss-plugins/Dockerfile

@@ -1,7 +1,7 @@
-FROM cthulhoo/ttrss-fpm-pgsql-static:22.07-26c67dba7 as ttrss-src
+FROM cthulhoo/ttrss-fpm-pgsql-static:22.08-5fea1a7ea as ttrss-src
 FROM postgres:14.1-alpine
 
-ARG S6_VER=2.2.0.3
+ARG S6_VER=3.1.2.1
 
 ENV UID=1000
 ENV GID=1000
@@ -15,7 +15,7 @@ ENV TTRSS_DB_TYPE=pgsql
 ENV TTRSS_DB_PORT=5432
 ENV TTRSS_DB_HOST=0.0.0.0
 ENV TTRSS_SELF_URL_PATH=http://localhost:80/
-ENV TTRSS_PHP_EXECUTABLE=/usr/bin/php8
+ENV TTRSS_PHP_EXECUTABLE=/usr/bin/php81
 ENV TTRSS_PLUGINS=auth_internal,fever,mercury_fulltext
 ENV SCRIPT_ROOT=/usr/local/tt-rss/app
 ENV TZ=Asia/Shanghai
@@ -23,20 +23,25 @@ ENV TTRSS_ALLOW_PORTS=80,443
 ENV TTRSS_UPDATE_AUTO=true
 ENV POSTGRES_DB_DUMP=false
 ENV POSTGRES_DB_RESTORE=false
+ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
 
-COPY root /
-COPY --from=ttrss-src /src/tt-rss /usr/local/tt-rss/app
+COPY --chmod=755 root /
+COPY --from=ttrss-src --chmod=755 /src/tt-rss /usr/local/tt-rss/app
 
 # install php tt-rss caddy git [npm nodejs]-mercury-parser-api
-RUN apk add --no-cache bash shadow tzdata git npm nodejs ca-certificates caddy clang llvm13 build-base dumb-init postgresql-client \
-	          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 php8-pecl-xdebug \
-#gd-png: libpng warning
-&& apk add --no-cache php8-gd=8.0.13-r0 --repository https://dl-cdn.alpinelinux.org/alpine/v3.14/community \
+RUN apk add --no-cache bash shadow tzdata git npm nodejs ca-certificates caddy clang llvm13 build-base dumb-init postgresql-client musl-locales \
+	          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-ctype php81-json php81-iconv php81-pcntl php81-posix php81-zip php81-exif php81-openssl php81-pecl-xdebug \
 # install s6-overlay
-&& if [ "$(uname -m)" = "x86_64" ];then s6_arch=amd64;elif [ "$(uname -m)" = "aarch64" ];then s6_arch=aarch64;elif [ "$(uname -m)" = "armv7l" ];then s6_arch=arm; fi \
-&& wget --no-check-certificate https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-${s6_arch}.tar.gz \
-&& tar -xvzf s6-overlay-${s6_arch}.tar.gz \
+&& if [ "$(uname -m)" = "x86_64" ];then s6_arch=x86_64;elif [ "$(uname -m)" = "aarch64" ];then s6_arch=aarch64;elif [ "$(uname -m)" = "armv7l" ];then s6_arch=arm; fi \
+&& wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-noarch.tar.xz \
+&& tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz \
+&& wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-${s6_arch}.tar.xz \
+&& tar -C / -Jxpf /tmp/s6-overlay-${s6_arch}.tar.xz \
+&& wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-noarch.tar.xz \
+&& tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz \
+&& wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-arch.tar.xz \
+&& tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz \
 # install mercury-parser-api
 && npm install --prefix /usr/local/mercury-parser-api git+https://github.com/HenryQW/mercury-parser-api.git \
 # install zhparser
@@ -52,11 +57,14 @@ RUN apk add --no-cache bash shadow tzdata git npm nodejs ca-certificates caddy c
 && useradd -u 1000 -U -d /config -s /bin/false ttrss \
 && usermod -G users ttrss \
 # php
-&& sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php8/php.ini \
-&& sed -i -e 's/;\(clear_env\) = .*/\1 = no/i' /etc/php8/php-fpm.d/www.conf \
-&& sed -i -e 's/^\(user\|group\) = .*/\1 = postgres/i' /etc/php8/php-fpm.d/www.conf \
-&& sed -i -e 's/;\(php_admin_value\[error_log\]\) = .*/\1 = \/var\/log\/php8\/error.log/' /etc/php8/php-fpm.d/www.conf \
-&& sed -i -e 's/;\(php_admin_flag\[log_errors\]\) = .*/\1 = on/' /etc/php8/php-fpm.d/www.conf \
+&& sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php81/php.ini \
+&& sed -i -e 's/;\(clear_env\) = .*/\1 = no/i' /etc/php81/php-fpm.d/www.conf \
+&& sed -i -e 's/^\(user\|group\) = .*/\1 = postgres/i' /etc/php81/php-fpm.d/www.conf \
+&& sed -i -e 's/;\(php_admin_value\[error_log\]\) = .*/\1 = \/var\/log\/php81\/error.log/' /etc/php81/php-fpm.d/www.conf \
+&& sed -i -e 's/;\(php_admin_flag\[log_errors\]\) = .*/\1 = on/' /etc/php81/php-fpm.d/www.conf \
+# reset ttrss
+&& cd /usr/local/tt-rss/app \
+&& git reset --hard HEAD \
 # install  plugins
 && mkdir -p /usr/local/tt-rss/defaults \
 && mv /usr/local/tt-rss/app/cache /usr/local/tt-rss/defaults/cache \
@@ -84,12 +92,7 @@ RUN apk add --no-cache bash shadow tzdata git npm nodejs ca-certificates caddy c
 && git config --global --add safe.directory /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme \
 #clear
 && apk del clang llvm13 build-base \
-&& rm -rf /var/cache/apk/* \
-&& rm /s6-overlay-${s6_arch}.tar.gz \
-&& rm -rf /scws* \
-&& chmod a+x /usr/local/bin/initialize.sh \
-&& chmod a+x /usr/local/tt-rss/defaults/updatett-rss.sh \
-&& chmod a+x /usr/local/tt-rss/defaults/postgres-dump-restore.sh
+&& rm -rf /var/cache/apk/* /tmp/* /scws*
 
 VOLUME /config
 EXPOSE 80 3000 5432

+ 5 - 1
tt-rss-plugins/README.md

@@ -1,5 +1,9 @@
 ## 群晖nas自用
 
+### GitHub:
+
+[https://github.com/gshang2017/docker](https://github.com/gshang2017/docker)
+
 ### 感谢以下项目:
 
 [https://hub.docker.com/r/cthulhoo/ttrss-fpm-pgsql-static](https://hub.docker.com/r/cthulhoo/ttrss-fpm-pgsql-static "https://hub.docker.com/r/cthulhoo/ttrss-fpm-pgsql-static")  
@@ -14,7 +18,7 @@
 
 |名称|版本|说明|
 |:-|:-|:-|
-|ttrss|plugins-22.07-26c67dba7|amd64;arm64v8;arm32v7,集成postgres数据库(PostgreSQL-14.1),mercury-parser-api及一些常用插件|
+|ttrss|plugins-22.08-5fea1a7ea|amd64;arm64v8;arm32v7,集成postgres数据库(PostgreSQL-14.1),mercury-parser-api及一些常用插件|
 
 #### 版本升级注意:
 

+ 6 - 6
tt-rss-plugins/root/etc/cont-init.d/tt-rss.sh

@@ -105,11 +105,11 @@ fi
 if [ ! -e "/config/php/log/error.log" ]; then
   touch /config/php/log/error.log
 fi
-if [ ! -L "/var/log/php8/error.log" ]; then
-  if [ -e "/var/log/php8/error.log" ]; then
-    rm /var/log/php8/error.log
+if [ ! -L "/var/log/php81/error.log" ]; then
+  if [ -e "/var/log/php81/error.log" ]; then
+    rm /var/log/php81/error.log
   fi
-  ln -s /config/php/log/error.log /var/log/php8/error.log
+  ln -s /config/php/log/error.log /var/log/php81/error.log
 fi
 
 #检查/var/run/postgresql目录
@@ -156,7 +156,7 @@ if [ -n "$POSTGRES_GID" ] && [ -n "$POSTGRES_UID" ]; then
     groupmod -o -g "$POSTGRES_GID" postgres
     usermod -o -u "$POSTGRES_UID" postgres
     usermod -g ttrss ttrss
-    sed -i -e 's/^\(user\|group\) = .*/\1 = ttrss/i' /etc/php8/php-fpm.d/www.conf
+    sed -i -e 's/^\(user\|group\) = .*/\1 = ttrss/i' /etc/php81/php-fpm.d/www.conf
   else
     echo 请设定POSTGRES_UID与POSTGRES_GID为非0数值...
   fi
@@ -165,7 +165,7 @@ fi
 #更改文件夹权限
 chown -R ttrss:ttrss /config/
 chown -R ttrss:ttrss /usr/local/tt-rss/
-chown -R ttrss:ttrss /var/log/php8/
+chown -R ttrss:ttrss /var/log/php81/
 chown -R postgres:postgres /var/lib/postgresql/data
 chown -R postgres:postgres /var/run/postgresql/
 

+ 1 - 1
tt-rss-plugins/root/etc/services.d/php-fpm/run

@@ -1,4 +1,4 @@
 #! /usr/bin/with-contenv bash
 
 #启动 php-fpm
-exec s6-setuidgid ttrss php-fpm8 -F
+exec s6-setuidgid ttrss php-fpm81 -F

+ 1 - 1
tt-rss-plugins/root/etc/services.d/update_daemon/run

@@ -1,3 +1,3 @@
 #!/usr/bin/with-contenv bash
 
-exec s6-setuidgid ttrss php8 /usr/local/tt-rss/app/update_daemon2.php > /dev/null 2>&1
+exec s6-setuidgid ttrss php81 /usr/local/tt-rss/app/update_daemon2.php > /dev/null 2>&1

+ 1 - 1
tt-rss-plugins/root/usr/local/bin/initialize.sh

@@ -8,7 +8,7 @@ if [ -n "$TTRSS_DB_HOST" ] && [ -n "$TTRSS_DB_USER" ] && [ -n "$TTRSS_DB_NAME" ]
     if [ "$($PSQL -c "\dx" |grep "zhparser" |wc -l)" -eq 0 ]; then
        psql -U $TTRSS_DB_USER -d $TTRSS_DB_NAME -a -f /docker-entrypoint-initdb.d/install_extension.sql
     fi
-    su ttrss -s /bin/sh -m -c "php8 /usr/local/tt-rss/app/update.php --update-schema=force-yes"
+    su ttrss -s /bin/sh -m -c "php81 /usr/local/tt-rss/app/update.php --update-schema=force-yes"
 else
     echo 环境变量TTRSS_DB_[HOST、USER、NAME、PASS]未填写完全...
 fi