From ac31a8df090e3d1e7cc1d231bd238fe03e3cfafa Mon Sep 17 00:00:00 2001 From: John Date: Mon, 24 Aug 2020 22:30:47 +0800 Subject: [PATCH] tt-rss-plugins-buildx --- .github/workflows/tt-rss-plugins-buildx.yml | 43 ++++++++++++++++++ tt-rss-plugins/Dockerfile | 9 ++-- tt-rss-plugins/Dockerfile.amd64 | 50 +++++++++++++++++++++ 3 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/tt-rss-plugins-buildx.yml create mode 100644 tt-rss-plugins/Dockerfile.amd64 diff --git a/.github/workflows/tt-rss-plugins-buildx.yml b/.github/workflows/tt-rss-plugins-buildx.yml new file mode 100644 index 0000000..95a0536 --- /dev/null +++ b/.github/workflows/tt-rss-plugins-buildx.yml @@ -0,0 +1,43 @@ +name: Build tt-rss-plugins-latest Image + +on: + push: + paths: + - 'tt-rss-plugins/Dockerfile' + - 'tt-rss-plugins/root/*' + +jobs: + buildx: + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v1 + + - name: Login to DockerHub + uses: crazy-max/ghaction-docker-login@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Set up Docker Buildx + id: buildx + uses: crazy-max/ghaction-docker-buildx@v3 + with: + buildx-version: latest + qemu-version: latest + + - name: Build dockerfile (with push) + run: | + docker buildx build \ + --platform linux/amd64,linux/arm/v7,linux/arm64 \ + --output "type=image,push=true" \ + --tag johngong/tt-rss:latest \ + --file ./tt-rss-plugins/Dockerfile ./tt-rss-plugins + + - name: Docker Hub Description + uses: peter-evans/dockerhub-description@v2 + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + DOCKERHUB_REPOSITORY: johngong/tt-rss + README_FILEPATH: ./tt-rss-plugins/README.md diff --git a/tt-rss-plugins/Dockerfile b/tt-rss-plugins/Dockerfile index 5ae9b9f..d9b4bc0 100644 --- a/tt-rss-plugins/Dockerfile +++ b/tt-rss-plugins/Dockerfile @@ -1,4 +1,4 @@ -FROM cthulhoo/ttrss-fpm-pgsql-static:20.07-376fe6271 as ttrss-src +FROM cthulhoo/ttrss-fpm-pgsql-static:20.07-376fe6271 as ttrss-src FROM postgres:12.0-alpine ARG S6_VER=2.0.0.1 @@ -14,9 +14,10 @@ COPY --from=ttrss-src /src/tt-rss /usr/local/tt-rss RUN apk add --no-cache bash shadow git npm nodejs ca-certificates caddy php7-pcntl php7-cli php7-curl php7-ldap php7-mcrypt php7-mysqli php7-mysqlnd php7-pdo_mysql php7-mbstring php7-json php7-gd php7-pgsql php7-xml php7-opcache php7-posix php7-apcu php7-fpm php7-pdo php7-fileinfo php7-iconv php7-dom php7-intl php7-pdo_pgsql php7-session \ && rm -rf /var/cache/apk/* \ # install s6-overlay -&& wget https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-amd64.tar.gz \ -&& tar -xvzf s6-overlay-amd64.tar.gz \ -&& rm s6-overlay-amd64.tar.gz \ +&& 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 \ +&& rm s6-overlay-${s6_arch}.tar.gz \ && mkdir -p /usr/local/tt-rss/defaults \ && mv /usr/local/tt-rss/cache /usr/local/tt-rss/defaults/cache \ && mv /usr/local/tt-rss/feed-icons /usr/local/tt-rss/defaults/feed-icons \ diff --git a/tt-rss-plugins/Dockerfile.amd64 b/tt-rss-plugins/Dockerfile.amd64 new file mode 100644 index 0000000..5ae9b9f --- /dev/null +++ b/tt-rss-plugins/Dockerfile.amd64 @@ -0,0 +1,50 @@ +FROM cthulhoo/ttrss-fpm-pgsql-static:20.07-376fe6271 as ttrss-src +FROM postgres:12.0-alpine + +ARG S6_VER=2.0.0.1 + +ENV POSTGRES_DB= +ENV POSTGRES_USER= +ENV POSTGRES_PASSWORD= + +COPY root / +COPY --from=ttrss-src /src/tt-rss /usr/local/tt-rss + +# install php tt-rss caddy git [npm nodejs]-mercury-parser-api +RUN apk add --no-cache bash shadow git npm nodejs ca-certificates caddy php7-pcntl php7-cli php7-curl php7-ldap php7-mcrypt php7-mysqli php7-mysqlnd php7-pdo_mysql php7-mbstring php7-json php7-gd php7-pgsql php7-xml php7-opcache php7-posix php7-apcu php7-fpm php7-pdo php7-fileinfo php7-iconv php7-dom php7-intl php7-pdo_pgsql php7-session \ +&& rm -rf /var/cache/apk/* \ +# install s6-overlay +&& wget https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-amd64.tar.gz \ +&& tar -xvzf s6-overlay-amd64.tar.gz \ +&& rm s6-overlay-amd64.tar.gz \ +&& mkdir -p /usr/local/tt-rss/defaults \ +&& mv /usr/local/tt-rss/cache /usr/local/tt-rss/defaults/cache \ +&& mv /usr/local/tt-rss/feed-icons /usr/local/tt-rss/defaults/feed-icons \ +&& mv /usr/local/tt-rss/lock /usr/local/tt-rss/defaults/lock \ +&& mv /usr/local/tt-rss/plugins.local /usr/local/tt-rss/defaults/plugins.local \ +&& mv /usr/local/tt-rss/themes.local /usr/local/tt-rss/defaults/themes.local \ +#create ttrss user +&& groupmod -g 1000 users \ +&& useradd -u 1001 -U -s /bin/bash ttrss \ +&& usermod -G users ttrss \ +# install mercury-parser-api +&& npm install git+https://github.com/HenryQW/mercury-parser-api.git \ +# install plugins +# install mercury_fulltext +&& git clone https://github.com/HenryQW/mercury_fulltext.git /usr/local/tt-rss/defaults/plugins.local/mercury_fulltext \ +# install feediron +&& git clone https://github.com/feediron/ttrss_plugin-feediron.git /usr/local/tt-rss/defaults/plugins.local/feediron \ +# install fever +&& git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin /usr/local/tt-rss/defaults/plugins.local/fever \ +# install api_feedreader +&& mkdir -p /usr/local/tt-rss/defaults/plugins.local/api_feedreader \ +&& wget -P /usr/local/tt-rss/defaults/plugins.local/api_feedreader https://raw.githubusercontent.com/jangernert/FeedReader/master/data/tt-rss-feedreader-plugin/api_feedreader/init.php \ +# install themes +# install tt-rss-feedly-theme +&& git clone https://github.com/levito/tt-rss-feedly-theme.git /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme \ +&& cp -r /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme/feedly* /usr/local/tt-rss/defaults/themes.local \ +&& rm -rf /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme + +VOLUME /config +EXPOSE 80 3000 5432 +ENTRYPOINT [ "/init" ]