Dockerfile 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. FROM cthulhoo/ttrss-fpm-pgsql-static:20.08-67f02e2aa as ttrss-src
  2. FROM postgres:12.0-alpine
  3. ARG S6_VER=2.1.0.0
  4. ENV POSTGRES_DB=
  5. ENV POSTGRES_USER=
  6. ENV POSTGRES_PASSWORD=
  7. COPY root /
  8. COPY --from=ttrss-src /src/tt-rss /usr/local/tt-rss
  9. # install php tt-rss caddy git [npm nodejs]-mercury-parser-api
  10. 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 build-base \
  11. # install s6-overlay
  12. && 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 \
  13. && wget --no-check-certificate https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-${s6_arch}.tar.gz \
  14. && tar -xvzf s6-overlay-${s6_arch}.tar.gz \
  15. # install mercury-parser-api
  16. && npm install git+https://github.com/HenryQW/mercury-parser-api.git \
  17. # install zhparser
  18. && wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 \
  19. && tar -xf scws-1.2.3.tar.bz2 \
  20. && cd scws-1.2.3 \
  21. && ./configure \
  22. && make install \
  23. && git clone https://github.com/amutu/zhparser.git \
  24. && cd zhparser \
  25. && make install \
  26. #create ttrss user
  27. && useradd -u 1000 -U -d /config -s /bin/false ttrss \
  28. && usermod -G users ttrss \
  29. # install plugins
  30. && mkdir -p /usr/local/tt-rss/defaults \
  31. && mv /usr/local/tt-rss/cache /usr/local/tt-rss/defaults/cache \
  32. && mv /usr/local/tt-rss/feed-icons /usr/local/tt-rss/defaults/feed-icons \
  33. && mv /usr/local/tt-rss/lock /usr/local/tt-rss/defaults/lock \
  34. && mv /usr/local/tt-rss/plugins.local /usr/local/tt-rss/defaults/plugins.local \
  35. && mv /usr/local/tt-rss/themes.local /usr/local/tt-rss/defaults/themes.local \
  36. # install mercury_fulltext
  37. && git clone https://github.com/HenryQW/mercury_fulltext.git /usr/local/tt-rss/defaults/plugins.local/mercury_fulltext \
  38. # install feediron
  39. && git clone https://github.com/feediron/ttrss_plugin-feediron.git /usr/local/tt-rss/defaults/plugins.local/feediron \
  40. # install fever
  41. && git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin /usr/local/tt-rss/defaults/plugins.local/fever \
  42. # install themes
  43. # install tt-rss-feedly-theme
  44. && git clone https://github.com/levito/tt-rss-feedly-theme.git /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme \
  45. && cp -r /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme/feedly* /usr/local/tt-rss/defaults/themes.local \
  46. #clean
  47. && apk del build-base \
  48. && rm -rf /var/cache/apk/* \
  49. && rm /s6-overlay-${s6_arch}.tar.gz \
  50. && rm -rf /scws* \
  51. && rm -rf /usr/local/tt-rss/defaults/themes.local/tt-rss-feedly-theme
  52. VOLUME /config
  53. EXPOSE 80 3000 5432
  54. ENTRYPOINT [ "/init" ]