2020-02-19  993 views 18

群晖使用docker安装并部署TTRSS

温馨提示:本文共计2731个字,预计阅读时间需要10分钟。

群晖使用docker安装并部署TTRSS

去年 3 月上了蜗牛星际的矿难车,折腾近一年感觉是时候分享一些弯道使用经验。

RSS 订阅接触蛮早,犹记得当年国内红极一时的 feedsky 托管服务,还有一并消散的 Google Reader、抓虾、鲜果等。

如今的 Feedly,Inoreader 仍然是很不错的产品,这里分享如何在群辉下搭建开源的 Tiny Tiny RSS。

TTRSS 以及 Awesome TTRSS 简介

Tiny Tiny RSS:基于 PHP 的免费开源 RSS 聚合阅读器

官方地址:https://tt-rss.org/
项目开源地址:https://git.tt-rss.org/git/tt-rss/src/master
官方说明文档:https://git.tt-rss.org/fox/tt-rss/wiki

Awesome TTRSS:基于 TTRSS 打包的一站式容器化(For Docker)解决方案

官方文档地址:https://ttrss.henry.wang/
项目开源地址:https://github.com/HenryQW/Awesome-TTRSS

至于为什么选 TTRSS,因为它插件多,功能强大,有移动客户端支持,嗯,理由够多了。

还有个原因就是 feedly 有一些站点不能订阅,比如 @喵喵 的博客😏。

群晖前置条件

Docker 套件安装(设置第三方套件来源),参考下图安装启动(自带 compose)。

Docker 版本为 version 18.09.8, build 2c0a67b
Docker-compose 版本为:version 1.24.0, build 0aa59064

群晖docker设置

图中的第三方地址:http://packages.synocommunity.com/

安装后点击控制面板 ➡ 共享文件夹 ➡ docker ➡ 编辑 ➡ 取消在“网上邻居”隐藏此共享文件夹。

群晖docker设置2

安装 Awesome TTRSS

采用 docker-compose 方式进行部署,因群晖特殊性,请仔细核对代码中标注的特别注意

复制以下内容并保存为 docker-compose.yml (使用UTF-8)

官方提供的 yml,包含 Mercury 全文获取和 OpenCC 简繁转换插件,如果你要使用,请参考官方文档操作,我未选择是因为我订阅的信息流 99% 都是独立博客,既然博主设定了站点不全文 RSS 输出,那就主动点过去阅读,订阅端相当于更新通知系统,方便互访,而简繁转换😑,个人觉得多余,又不是看不懂。

以上文件复制到群晖共享目录 docker 的 TTRSS 子目录中(没有就新建),图中示意为 WIN 系统平台操作,然后在 TTRSS 目录中再新建 data 目录,用于存放数据库文件。

yml文件路径

然后用 root 用户进入 shell,cd 到对应 docker 的 TTRSS 目录中运行以下指令,一步搞定(其实就是把你手动要执行的操作自动化)。

compose安装情况

然后静静等待,打开群晖的 docker,看到下面的样子就表示👌了,此时建议再等等(后台还在执行初始化操作),几分钟后再访问。

安装完成后的情况

配置修改

2020/03/22 更新:网友 @leo 提醒,5001为群晖默认https端口,故修正 yml 为 5005,博主修改过默认端口,所以😅

打开浏览器,访问 http://群晖的IP:5005,如果提示

Please set SELF_URL_PATH to the correct value detected for your server: 你要访问的地址

说明你刚才的 URL 设置不对,没关系,停掉容器,修改成你要访问的地址,如图。

docker SELF_URL_PATH设置

针对这个问题,我详细阅览了一番官方 issue list,在 issue #19 中作者明确指出,不会使用如下指令解决或规避此问题(也就是说在配置文件中定义SKIP_SELF_URL_PATH_CHECKS为ture就不会出现此报错)。

因为 TTRSS 的原作者也指出,如果跳过检查,或许会导致不可预知的问题产生,所以请正确设置。如果你非要想通过多个域名访问,请进入容器,然后修改😆,群晖进入 docker 容器修改配置文件的指令如下:

处理SELF_URL_PATH报错

修改后在GUI界面重启容器即可(亲测有效),但为了保证安全性和稳定性仍然不建议修改🙈。

其他配置一般不需改动,如要更改 5001 端口,请记得在 docker 的端口设置中同步更正。

TTRSS 使用注意事项

默认用户 admin,密码 password,进入后先到偏好设置修改密码,用户 ➡ 点击admin,然后导入你之前的 OPML(信息源 ➡ OPML ➡ 导入 OPML),搞定。

TTRSS安装完成

提示:feedly OPML 导出地址 ➡ https://feedly.com/i/opml

Android 客户端国内商店貌似没提供,反正我的 1 加没得,官方提供的试用版蛮好用。不晓得试用期结束后会怎么样,晚点更新状况,鉴于强国内无法访问,分享最新版下载

2020/03/23 更新:点击这里去下载已经编译好的官方版本,非试用,强烈推荐。2020/02/28 更新:试用期到期后会强制要求下载unlock版本,否则无法使用,收费28,但如果你google play设置的区域在中国,会提示不支持,WTF,免费的UI丑到爆,所以只能放弃客户端,如非要使用,卸载再安装,能再获得7天的试用期,如此循环可长久使用,再或者反编译😅

2020/03/11 更新:除了官方还有其他客户端,比如 NewsJet、FeedMe(感谢网友Leo推荐),界面还行,能预览图片。(文末已更新下载地址为 FeedMe Ver 3.13)

2020/03/22 更新:如图,记得在偏好设置中开启▶“允许外部客户端通过 API 来访问该账户”,客户端推荐 FeedMe 或官方。

在后台开启API访问

TTRSS安卓手机端

苹果可使用 Reeder 4(利用 fever 插件),因要 30 软妹币我放弃了体验😥,毕竟穷💔。

还有些待补充的东西

关于如何利用内网穿透达到外网访问的功能,留在后面写吧,我讨厌一次性长篇大论(主要写得累🤪)

然后如何配置 HTTPS 也放到下次(和内网穿透一起,毕竟利用的是 FRP)。

2020/03/11 更新,配置 HTTPS 请参考:用FRP快速实现https加密访问

在群晖上还有另外一种部署方法,可定制性较高,其实我是推荐另一种的,不过 docker 方便呀。


终于完成了 RSS 阅读终端的移转,也算是对自己一个交待,毕竟在 @喵喵 那边立下了 flag,今年完成的第一个 flag🤗。

其次写这个只是为了分享一些容易掉坑的细节,也当作自己折腾 NAS 的记录,希望能帮助到一些人。

再次愿疫情早日过去,或许下周一就得乖乖上班,我现在倒希望去上班,真的宅不住了呀😱😱😱。

-End-

相关文件下载地址
独享的桎梏束缚着人类的进步,唯共享才能推动创新和思考。

18 条评论  访客:10 条  作者:8 条

  1. Mr.Chou LV3

    大都待在家里瞎折腾,我也想上班呢…

  2. 子痕 LV2

    我用的Inoreader,然后订阅了好多新闻,现在有几千条没有看了。 :???:

    • Sam.Z GM

      @子痕 几千条🙀 完全信息爆炸呀,还好我大都是博客

  3. 野生的喵喵 LV2

    :cool: 感觉安装起来好复杂哈~~,都是没玩过的东东 :mrgreen:

    • Sam.Z GM

      @野生的喵喵 😨你平时开发不是用Linux么,docker都是大同小异,只是群晖环境不一样而已

      • 野生的喵喵 LV2

        @Sam.Z 我开发用windows~ :mrgreen: ,家里是ubuntu下安装window虚拟机,linux开发还是不太行 :evil:

  4. 心灵博客 LV2

    你会发现,有些rss更新tt抓不到

    • Sam.Z GM

      @心灵博客 除了被墙的,用了一个礼拜,感觉还不错,你现在用什么,还是在线服务么

  5. 老杨

    我把 TTRSS 干掉了,用回 Feedly。。。 :cool:

  6. 刘晨晨 LV1

    这个很实用,正好家里有台群晖,安排上 :cool:

    • Sam.Z GM

      @刘晨晨 安卓和苹果下的APP都是收费的,关键安卓下的APP如果是中国区无法购买,吐血~ 免费的压根不能看,UI丑到爆,所以最终还是得用web界面~

  7. leo

    老哥,android客户端建议使用 freeMe,感觉还不错。
    另外, 关于支持第三方应用,建议再偏好设置里面 启用API :允许外部客户端通过 API 来访问该账户

    • Sam.Z GM

      @leo 这篇文章没写完全,因为网上很多类似教程,所以主要写了一些需要注意的地方,freeMe等会哈回家试试,谢谢,我的群晖把https端口修改了,哈哈,晚点我把这篇文章更新下,再次感谢指正和补充

    • Sam.Z GM

      @leo 没有在商店找到支持 TTRSS 的freeMe客户端,同名字的是一个桌面程序 :!:

      • leo

        @Sam.Z 抱歉。 名字错了。
        应该是feedMe
        谷歌商店:https://play.google.com/store/apps/details?id=com.seazon.feedme&hl=zh
        酷安:https://www.coolapk.com/apk/com.seazon.feedme

        支持Feedly,InoReader,Bazqux,The Older Reader, Feedbin, Tiny Tiny RSS, FreshRSS, Fever。
        2. 一键保存到Pocket,Evernote,为知笔记,Instapaper或者Readability

        • Sam.Z GM

          @leo 嗯,确实可以!刚才安装了,非常好用,谢谢 :mrgreen:

  8. leo

    另外,建议一下,如果是群晖使用该脚本。 docker-compose.ym 里面 请把端口映射 改为其他端口。 5001 是群晖的HTTPS默认端口。容易发生错误。
    ports:
    – 5001:80

    错误提示:
    ERROR: for ttrss Cannot start service service.rss: driver failed programming external connectivity on endpoint ttrss (384a16db86bca6d1bca081807a547f0d59498884519fe3412a947fc719b3d531): Error starting userland proxy: listen tcp 0.0.0.0:5001: bind: address already in use

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: