之前尝试过用ttrss搭建网络rss阅读器,后来由于没时间打理,且出现各种问题放弃了。

最近有新的阅读需求,重新翻出来想要再次搭建,发现原来的土办法不行了,只能通过docker搭建。docker以前只闻其名,没有用过,但是觉得原理很简单,不妨一试。

我使用的是docker-compose版本的awesome ttrss,使用前需要安装docker和docker-compose。我使用的是宝塔面板,阿里云ecs,centos8,我对具体安装python3,pip3,docker-compose方法做了简单记录在这。docker本身是在宝塔应用市场里安装的官方docker管理器。

具体安装ttrss方法很简单,按照awesome ttrss文档里部署方法一一执行就可以。我只是说一下里面的小坑备忘。

第一,docker-compose后,不但会拉取实例,还会创建volumes数据分区,如果你想删除原有的实例,更改yml配置文件重新拉取时,数据库数据文件默认是原来的,我试了rm -v也不能删除数据库,只能进文件手动删除。简单的方法是不要更改数据库密码,仍然使用原来的数据库,如果数据库仍然可用。

第二,关于SELF_URL_PATH: TTRSS 实例地址。? 请注意,该变量值必须与你在浏览器中用于访问 TTRSS 的 URL 保持完全一致,否则 TTRSS 将无法启动。以上是官方的说法,意思很明确了,你在浏览器地址栏里看到啥就输入啥。即便这样ISSUES里面还是有很多人出现这个问题,就是对上面这句话理解不到位。

第三,当然,如果理解了第二中的话,也设置对了,还是出现问题,多数出现在反向代理上。在官方页面上已经对反代的设置有了明确说明,对于比较懒的朋友——例如我,使用宝塔面板的情况下,就很容易导致宝塔默认配置不满足要求的情况。经过核对,我发现反向代理配置文件里缺少参数X-Forwarded-Proto,补充上就好。

经过上面设置,发现window环境下访问一切正常,android上的app利用api访问也正常。

但是,IOS设备浏览器无法登录使用,问题还在查找中……

在确认了报错信息后,找到了解决方案

近期 Tiny Tiny RSS(tt-rss)更新后,使用 Safari 登录时会提示错误:“Error: Browser check failed: window.requestIdleCallback not found.”。原因为目前 Safari 默认尚未正式开启对 requestIdleCallback() 方法的支持。

在 Mac 上,可以在 Safari 浏览器偏好设置-高级选项卡中勾选在菜单栏中显示 “开发” 菜单。在开发菜单-实验性功能中勾选启用 requestIdleCallback 来解决此问题。

iOS 和 iPad OS 中,可以在设置- Safari 浏览器- Experimental Features 中启用 requestIdleCallback 来解决此问题。

更新 1:在 Safari 中开启 requestIdleCallback 后,有可能会导致 Google 等网站登录页面出现无法进入密码输入框的情况,关闭可解决。