🐋 Awesome TTRSS

Docker Pulls Docker Stars Docker Automated build Docker Build Status FOSSA Status

关于

Tiny Tiny RSS 是一款基于 PHP 的免费开源 RSS 聚合阅读器。🐋 Awesome TTRSS 旨在提供一个 「一站式容器化」 的 Tiny Tiny RSS 解决方案,通过提供简易的部署方式以及一些额外插件,以提升用户体验。

鸣谢

赞助者

部署

推荐使用一台 VPS 来部署您的 Awesome TTRSS 实例,DigitalOcean 提供高性价比的 VPS 仅需 $5/月。除此之外,通过 Awesome TTRSS 的 💰OpenCollective 页面 进行赞助,即可获得定制支持,全托管服务,全托管 VPS 等私人服务。

通过 Docker 部署

docker run -it --name ttrss --restart=always \
-e SELF_URL_PATH = [ TTRSS 实例地址 ]  \
-e DB_HOST = [ 数据库地址 ]  \
-e DB_PORT= [ 数据库端口 ]  \
-e DB_NAME = [ 数据库名称 ]  \
-e DB_USER = [ 数据库用户名 ]  \
-e DB_PASS = [ 数据库密码 ]  \
-p [ 容器对外映射端口 ]:80  \
-d wangqiru/ttrss

通过 docker-compose 部署

docker-compose.yml 包含了 4 个镜像:

  1. TTRSS
  2. PostgreSQL
  3. Mercury Parser API
  4. OpenCC API

步骤

  1. 下载 docker-compose.yml 至任意目录。
  2. 更改 docker-compose.yml 中的设置,请务必更改 postgres 用户密码。
  3. 通过终端在同目录下运行 docker-compose up -d 后等待部署完成。
  4. 默认通过 181 端口访问 TTRSS,默认账户:admin 密码:password,请第一时间更改。
  5. wangqiru/mercury-parser-apiwangqiru/opencc-api-server 为支持高级功能而加入的可选服务类容器,删除不会影响 TTRSS 基础功能。

支持的环境变量列表

  • SELF_URL_PATH: TTRSS 实例地址
  • DB_HOST: 数据库地址
  • DB_PORT: 数据库端口
  • DB_NAME: 数据库名字
  • DB_USER: 数据库用户名
  • DB_PASS: 数据库密码
  • ENABLE_PLUGINS: 在系统层面启用的插件名称,其中 auth_internal 为必须启用的登录插件
  • SESSION_COOKIE_LIFETIME: 使用网页版登陆时 cookie 过期时间,单位为小时,默认为 24 小时
  • HTTP_PROXY: ip:port, TTRSS 实例的全局代理, 为源地址添加单独代理请使用 Options per Feed
  • SINGLE_USER_MODE: true 为开启单用户模式,同时关闭用户认证,无需登录即可使用。请仅在安全环境下开启

配置 HTTPS

TTRSS 容器自身不负责使用 HTTPS 加密通信。参见下方的样例自行配置 Nginx 反向代理。使用 Let's Encrypt 可以获取免费 SSL 证书。

upstream ttrssdev {
    server 127.0.0.1:181;
}

server {
    listen 80;
    server_name  ttrssdev.henry.wang;
    return 301 https://ttrssdev.henry.wang$request_uri;
}

server {
    listen 443 ssl;
    gzip on;
    server_name  ttrssdev.henry.wang;

    ssl_certificate /etc/letsencrypt/live/ttrssdev.henry.wang/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ttrssdev.henry.wang/privkey.pem;

    access_log /var/log/nginx/ttrssdev_access.log combined;
    error_log  /var/log/nginx/ttrssdev_error.log;

    location / {
        proxy_redirect off;
        proxy_pass http://ttrssdev;

        proxy_set_header  Host                $http_host;
        proxy_set_header  X-Real-IP           $remote_addr;
        proxy_set_header  X-Forwarded-Ssl     on;
        proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto   $scheme;
        proxy_set_header  X-Frame-Options     SAMEORIGIN;

        client_max_body_size        100m;
        client_body_buffer_size     128k;

        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
    }
}

更新

Awesome-TTRSS 会自动监控 TTRSS 官方更新并与之同步,这意味着更新会比较频繁。

默认使用 wangqiru/ttrss:latest 版本,该版本包含了 TTRSS 官方的稳定发行版。 wangqiru/ttrss:nightly 包含了含有最新功能的尝鲜版,但可能包含 bug。旧版本请参照 此页面

手动更新

通过以下命令进行手动更新:

    docker pull wangqiru/ttrss:latest
    # docker pull wangqiru/mercury-parser-api:latest
    # docker pull wangqiru/opencc-api-server:latest
    docker-compose up -d # 如果您没有使用 docker-compose,我确信您知道该怎么做。

自动更新

样例 docker-compose 中包含了 Watchtower,它会自动拉取并更新您所有的服务容器 (包括当前系统上运行的非 Awesome-TTRSS 服务的容器)。该服务默认关闭,启用前请确认它将不会影响您其他的服务容器。

您也可以设置 watchtower 忽略您的其他容器:

  service.mercury:
    image: wangqiru/mercury-parser-api:latest
    container_name: mercury
    expose:
      - 3000
    restart: always
    # ⬇️ 这将使 Watchtower 跳过对 mercury-parser-api 的更新检测
    labels:
        - com.centurylinklabs.watchtower.enable=false

插件

Mercury 全文获取

全文内容提取插件,配合单独的 Mercury Parser API 服务器使用。样例 docker-compose 中已经包含了 HenryQW/mercury-parser-api 服务器。

设置步骤

  1. 在设置中启用 mercury-fulltext 插件 启用 Mercury
  2. 在设置中填入 Mercury Parser API 地址 填入 Mercury Parser API 地址

Fever API

提供 Fever API 支持。

该插件默认作为系统插件启用。

设置步骤

  1. 在设置中启用 API。 启用 API
  2. 在插件设置中设置 Fever 密码。 设置 Fever 密码
  3. 在支持 Fever 的阅读器用,使用 https://[您的地址]/plugins/fever 作为服务器地址。使用您的账号和步骤 2 中的密码登录。
  4. 由于该插件使用未加盐的 MD5 加密密码进行通信,强烈建议开启 HTTPS

OpenCC 繁简转换

使用 OpenCC 为 TTRSS 提供中文繁转简的插件,需要配合单独的 OpenCC API 服务器使用。样例 docker-compose 中已经包含了 HenryQW/OpenCC.henry.wang 服务器。

设置步骤

  1. 在设置中启用 opencc 插件 启用 opencc
  2. 在设置中填入 OpenCC API 地址 填入 OpenCC API 地址

Demo 服务器,可用性不做任何保证:https://opencc.henry.wang or http://opencc2.henry.wang

FeedReader API

提供 FeedReader API 支持。

系统插件,将 api_feedreader 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 FeedReader API

News+ API

为 Android App News+ 和 iOS App Fiery Feeds 提供更快的同步速度。

系统插件,将 api_newsplus 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 News+ API

Feediron

提供文章 DOM 操控能力的插件。

使用指南见 Feediron

Options per Feed

提供单独为源地址配置代理、user-agent 以及 SSL 证书验证的能力。

使用指南见 Options per Feed

主题

Feedly

Feedly

RSSHub

RssHub

使用建议

支持与帮助

捐赠

PayPal 微信赞赏 OpenCollective
paypal 💰OpenCollective page

许可

MIT

FOSSA Status

上次更新: 10/4/2019, 12:36:48 AM