使用HyperApp搭建Tiny Tiny RSS

准备

  • VPS 需要先安装好 docker-ce
  • HyperApp
  • 一个已经解析正确的域名(ping 验证)
  • 耐心。仔细。认真

HyperApp 服务端配置

安装 PostgreSQL

虽然 HyperApp 提供了相应的 PostgreSQL 应用一键安装,但是由于安装 Tiny Tiny RSS 时无法与其衔接,所以一并使用 Docker Image 方法进行安装。

  1. 转到商店页面。找到 Docker Image 然后选择服务器并且保存进入配置界面
  2. 请完全按照下图配置进行填写!
应用设置名称 内容
Image sameersbn/postgresql:latest
Options --restart=always -v /srv/docker/postgres/data/:/var/lib/postgresql/ -e PG_PASSWORD=mydbpass -e DB_EXTENSION=pg_trgm -p 5432:5432
Command
Args
其他 所有其他设置均为空

安装 Tiny Tiny RSS

  1. 转到商店页面。找到 Docker Image 然后选择服务器并且保存进入配置界面
  2. 请完全按照下图配置进行填写!
应用设置名称 内容
Image wangqiru/ttrss
Options --restart=always -e SELF_URL_PATH=https://你要给镜像站点的域名 -e DB_HOST=postgres -e DB_PORT=5432 -e DB_NAME=myttrss -e DB_USER=postgres -e DB_PASS=mydbpass
Command
Args
Nginx 设置名称 内容
域名 你要给镜像站点的域名
应用端口
Https 不重定向 HTTP 请求
域名 你要给镜像站点的域名(自动填写)
邮箱 域名所对应的邮箱
  • 保存并且进行安装。请确保这时候 Nginx Proxy 以及 Nginx SSL Support 正常默认安装并且启动了

连接数据库

安装 PostgreSQL 和 Tiny Tiny RSS 后还不能正常使用,还需要将两者连接起来。进入 VPS 的 SSH 窗口执行命令:

docker network create ttrss_network
docker container ls | grep wangqiru/ttrss | awk '{print $1}' | xargs docker network connect ttrss_network
docker container ls | grep sameersbn/postgresql | awk '{print $1}' | xargs docker network connect ttrss_network
docker container ls | grep wangqiru/ttrss | awk '{print $1}' | xargs docker restart

上述命令建立了一个名为 ttrss_network 的 docker 通讯网络,并将 ttrss 容器和 postgres 容器都连接到这个网络内部。最后重启 Tiny Tiny RSS 容器。

防火墙设置

  • CentOS

    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --add-port=443/tcp --permanent
    firewall-cmd --reload
  • Ubuntu

    sudo ufw allow 80
    sudo ufw allow 443

配置使用 Tiny Tiny RSS

登录使用

Tiny Tiny RSS

安装完成后,访问你给镜像站点设置的域名即可进入 Tiny Tiny RSS 登陆页面。默认账号是 admin,密码是 password。登录后务必修改密码。Tiny Tiny RSS 的其他设置技巧,可以参阅少数派的这篇文章

全文输出

一些网站并未提供完整的全文 RSS 源,而只提供了文章的摘要内容,阅读起来十分不便。作为 RSS 的重度用户,跳转到网站进行阅读实在是浪费时间。遇到这样的 RSS 源,除了可以使用内置了 Mercury 全文输出功能的客户端(iOS 平台 Reeder、Unread 等主流 RSS 阅读器支持)以外,还可以为自己搭建的 Tiny Tiny RSS 安装插件以支持 Mercury 功能。
下面还是使用 HyperApp 来操作,一步到位。

安装 Mercury

  1. 转到商店页面。找到 Docker Image 然后选择服务器并且保存进入配置界面
  2. 请完全按照下图配置进行填写!
应用设置名称 内容
Image wangqiru/mercury-parser-api
Options -p 3000:3000
Command
Args
其他 所有其他设置均为空

防火墙设置

  • CentOS

    firewall-cmd --add-port=3000/tcp --permanent
    firewall-cmd --reload
  • Ubuntu

    sudo ufw allow 3000

配置 Mercury 插件

  1. 登陆 Tiny Tiny RSS,进入偏好设置(Preferences) - 插件(Plugins),启用 mercury_fulltext 的插件
  2. 登陆 Tiny Tiny RSS,进入偏好设置(Preferences) - 信息源(Feeds) - Mercury_fulltext settings (mercury_fulltext) 选项卡。填入 http://你要给镜像站点的域名或IP地址:3000 ,保存配置

开始使用 Mercury

  1. 首先正常订阅一个 RSS 源
  2. 在首页左侧导航或订阅源管理中找到需要获取全文的订阅源,点击编辑订阅源(Edit Feed)
  3. 进入编辑订阅源(Edit Feed)窗口中的插件(Plugins)选项卡,勾选 Get fulltext via Mercury Parser

设置完成后,Tiny Tiny RSS 将根据你的自定义设定,对特殊 RSS 源使用 Mercury 拉取全文内容后再生成 RSS 内容。这样可以摆脱客户端的限制,在任何客户端上都能直接浏览全文 RSS 的文章。

Q&A

  1. 为何连接数据库的命令这么长?
    之所以命令这么长是因为在使用 HyperApp 安装 ttrss 容器和 postgres 容器时没有为其指定容器的 name,所以必须通过查找其容器 ID 后再进行绑定。

  2. 为什么安装时不指定容器的 name?
    指定容器的 name 可以方便连接数据库,但由于 HyperApp 是通过一定规则生成容器 name 从而对已安装的应用进行管理的,如果自定义了容器的 name,HyperApp 将无法正常识别到容器,安装应用后也会显示尚未安装。


参考链接:
Tiny Tiny RSS 容器镜像
A ttrss setup guide - Start your own RSS aggregator today
如何搭建属于自己的 RSS 服务,高效精准获取信息
Docker-image 介绍
超简单搭建常见 404 站点镜像