Docker系列 安装个人RSS服务TTRSS 手机完美适配
本文最后更新于 146 天前,如有失效请评论区留言。

本博客由ZGOCLOUD大力赞助!如何更快地访问本站?有需要可加电报群获得更多帮助。本博客用什么VPS?创作不易,请支持苯苯!推荐购买本博客的VIP喔,10元/年即可畅享所有VIP专属内容!

日志

  • 2023-06-09:优化挂载目录/var/www的用户(组)设置以避免频繁出现的warning级别日志。
  • 2023-04-08:新增内容搜索预定义标签的相关教程。
  • 2022-12-20:修改docker-compose.yml中TTRSS的挂载目录为/var/www
  • 2022-08-30:更新标记已读时无弹窗的技巧
  • 2022-05-01:使用了几天Unread,发现Unread对于个人博客同步的支持较差,偶尔会爬不到内容,也拉不到历史内容;TTRSS明明是可以爬取到的。暂无解决方案。

前言

如果想要直接使用TTRSS,可以联系苯苯[email protected]帮开帐户,可省去买VPS和布署的麻烦!

关于RSS的介绍这里不再多说,请看我的另一篇博文:解决信息爆炸困扰的完美方案——RSS

RSS订阅器平台有很多选择,大家可以看这个文章:2022年10款最佳RSS阅读器推荐(在线/软件+免费/付费)- 安卓、iOS, Windows, Mac, Linux等适用!。那为什么我还是觉得应该有一个自己的RSS订阅器平台呢?我觉得有以下几点理由:

  • 基于Docker,自建难度低,迁移性好。
  • 自建RSS订阅器平台足够强大。有filter功能等。
  • 数据完全掌握在自己手中。可通过duplicati备份。
  • 无广告,不担心托管平台倒闭。RSS阅读器平台经常会由于盈利或政策原因关门。
  • 没有订阅数上限或其它恶心的限制。完全免费。
  • 进一步压榨VPS。毕竟有这么多性能溢出!
  • 通过插件功能可以支持内嵌Youtube、Bilibili、西瓜视频等。
  • 将多RSS源合并成一个URL分享给他人

下面我们搭建一个RSS平台——Tiny Tiny RSS,即TTRSS。基于Fever API,TTRSS也可完美地适配手机端(IOS; 安卓应该也是类似的)的阅读。在Chrome中,TTRSS的界面类似于:

baidunetdisk_DTOA3Oybae

我也提供了一个TTRSS的测试帐号供大家使用:

链接:https://rssrn2.hwb0307.com
用户名:test01
密码:test01test01

一般情况下,这个帐户处于禁用状态。如果大家有需要的话,评论区留言或者加群喊一下,我可以临时开放给大家体验。当然,测试帐户有某些限制,比如不可以订阅新的订阅源,只作TTRSS体验之用。

如果你觉得这个RSS阅读器还不错,而且自己对VPS和Docker也已经有了一定的了解,就可以往下看了。TTRSS搭建过程中主要参考咕咕:二十分钟搭建一个属于自己的RSS服务和一些官方文档。总之很容易安装。开始吧!

此外,有小伙伴说miniflux也是个不错的RSS阅读器,大家也可以关注下。我自己没用过。

测试环境

用的腾讯云VPS:

uname -a # Linux VM-12-8-ubuntu 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
docker --version # Docker version 20.10.5, build 55c4c88
docker-compose --version # docker-compose version 1.28.6, build 5db8d86f

准备工作

按需修改工作目录:

work=~/docker/tinytinyrss && mkdir -p $work && cd $work

按需修改端口,开启防火墙:

sudo ufw allow 3894/tcp comment 'tinytinyrss' && sudo ufw reload

提前拉取镜像:

docker pull wangqiru/ttrss:latest && 
docker pull wangqiru/mercury-parser-api:latest && 
docker pull wangqiru/opencc-api-server:latest && 
docker pull postgres:13-alpine

配置yml

不了解docker的小伙伴请先看:《Docker系列 配置Docker全局环境》;《Docker系列 了解Docker Compose的配置文件》。

新建文件:

vim $work/docker-compose.yml

添加以下内容:

version: "3"
services:
  service.rss:
    image: wangqiru/ttrss:latest
    container_name: ttrss
    ports:
      - 3894:80 # 按需修改
    environment:
      - SELF_URL_PATH=https://rss.domain.com/ # 按需修改
      - DB_PASS=ipbufQW8F2 # 按需修改。与下面的密码对应
    volumes:
      - ./feed-icons:/var/www/feed-icons/
    networks:
      - public_access
      - service_only
      - database_only
    stdin_open: true
    tty: true
    restart: always

  service.mercury:
    image: wangqiru/mercury-parser-api:latest
    container_name: mercury
    networks:
      - public_access
      - service_only
    restart: always

  service.opencc:
    image: wangqiru/opencc-api-server:latest
    container_name: opencc
    environment:
      - NODE_ENV=production
    networks:
      - service_only
    restart: always

  database.postgres:
    image: postgres:13-alpine
    container_name: postgres
    environment:
      - POSTGRES_PASSWORD=ipbufQW8F2 # 按需修改。与上面的密码对应
    volumes:
      - ./db/:/var/lib/postgresql/data
    networks:
      - database_only
    restart: always

networks:
  public_access: 
  service_only: 
    internal: true
  database_only: 
    internal: true

这里要说明的是,除了按需修改的部分,其它代码大家尽量不要动它,免得在后面的设置中出错。如果你是大神就当我没说吧!另外,postgres数据库可以通过外置conf文件自定义参数,具体方法见postgres – Official Image | Docker Hub

上线服务:

cd $work && docker-compose up -d

可以通过这个命令查看日志:

docker-compose logs -f

改变文件夹的权限。这一步一定要做,否则TTRSS无法成功启用。

sudo chmod 777 $work/feed-icons

重启应用:

docker-compose restart

TTRSS的www目录

此隐藏内容仅限VIP查看。包年VIP仅10元,建议升级。VIP可享有哪些特权

ddns-go & NPM

不了解Nginx Proxy Manager用法的小伙伴,请看《Docker系列 两大神器NPM和ddns-go的安装》。

ddns-go或者域名托管后台里添加域名:rss.domain.com

NPM无特殊设置。类似于:

image-20220429161458743

初始化

默认帐户:

帐号:admin
密码:password

第一次登陆进行要先改一个密码,用bitwarden生成强密码:

image-20220429154739636

在用户这里,点admin:

image-20220429154829891

填入一个新密码:

image-20220429154900921

更改新密码后,重新用新密码登陆。帐户信息可用bitwarden保存。

设置

TTRSS的设置和一般软件设置的布局不太一样,刚开始操作时可能令人摸不着头脑。大家多多探索一下,应该问题不大!

我们可以去偏好设置那里:

image-20220429155106303

启用外部API

这一部分的设置主要是为了让外部终端(比如手机的Unread)可以访问它。毕竟我们很有可能经常在手机上看我们的RSS订阅!

image-20220429155216386

启用Fever API

据TTRSS提醒,“WARNING: The Fever API uses an UNSECURE unsalted MD5 hash. Consider the use of a disposable application-specific password and use HTTPS.”,为了安全,最好还是为Fever API额外使用一个密码。

Fever API可保证多客户端的实时进度同步。所以,如果你有时在电脑上看RSS,有时有手机上看RSS,推荐你使用支持Fever API的手机APP。此外,你可以用bitwarden生成一个新的密码并填入Set Password前面的空格中,记得点击Set Password保存。这个密码主要是在手机客户端通过Fever API订阅时需要用。你也可以设置得简单点,或者干脆设置和帐号一样的密码,看你喜欢。Fever API的密码与帐号密码是相互独立的。

image-20220429155720701

添加分类和信息源

这个就比较简单了,自己摸索一下吧。主要有2个入口,这里直接贴图。

主页的入口:

image-20220502130538045

偏好设置中的入口:

image-20220502130414962

不懂的话评论区留言。

插件

TTRSS的插件生态也是挺丰富的。在这里,我介绍一些比较实用的插件。

此隐藏内容仅限VIP查看。包年VIP仅10元,建议升级。VIP可享有哪些特权

内容搜索

TTRSS内部是支持内容搜索的。具体可参考官方wiki

msedge_67D5VoUc9T

比如,搜索昨天的文章:

msedge_xycaInfiQP

搜索和chatGPT有关的内容:

msedge_MZ5VVetQIg

预定义标签

TTRSS的预定义标签的功能也挺不错喔!具体来说,可以定义某些规则,使得命中/排除这些规则的文章可以通过某个标签统一访问。比如,我有很多订阅源;但我希望重点关注这些订阅源新文章中与ChatGPT有关的内容。

  • 在偏好设置——预定义标签中创建一个chatGPT的标签。其它名字也可以。

msedge_weTmDlUXWS

  • 创建一个针对“chatGPT”的过滤器:

msedge_KZKI24bXz8

这样,TTRSS的工作界面就会有预定义标签:

msedge_3FGPISwnsQ

只要你的规则和关键词定义得好,这个过程可以用于定制任何你感兴趣的主题。非常推荐尝试!

其它

这里主要分享一些我觉得比较实用的设置。

不展开文章

有些订阅源的正文很长很长,如果你设置了始终展开文章,阅读体验很差。

image-20220430151304898

标记已读时无弹窗

如果你使用fq快捷键全部已读某个分类,默认情况下会有一个弹窗向你确认,这个比较烦。如果你也想隐藏这个提醒,可以在偏好设置——偏好设置中,将标记订阅源为已读之前弹出确认后台的勾勾取消即可:

chrome_St24ClWSRU

换主题

如果不喜欢默认皮肤,还可以换主题。这个利好颜控!

比如,我将主题改成feedly-cozy

image-20220501165545309

实际效果如下:

image-20220501165647459

看某篇文章时的效果如下:

image-20220501175706769

感觉棒棒哒!其它主题就没试过了。我比较随意,并不在意这些花里胡哨的东西。

快捷键

像大多数RSS阅读器一样,TTRSS也有快捷键。如果你在电脑端使用过RSS,就知道快捷键可以大幅提升阅读体验和阅读效率。快捷键说明在下图所示位置:

image-20220512215100506

我觉得比较实用的快捷键就几个:

  • a+q:将展开的文章折叠
  • f+q:将某个分类的文章全部标记为已读(好用)
  • n:打开下一篇文章(好用)
  • ENDHOME:END用于不断地刷新未加载文章,而HOME是回到最新的文章。在电脑端上看一个消息比较多的频道时,可以先用END全部刷新完一波,然后用HOME定位至最新文章并快速往下浏览(通过是配合PAGE DOWN键)。
  • PAGE UPPAGE DOWN:向上翻页、向下翻页。文章比较多时很实用。

三屏界面

TTRSS还支持2种三屏界面。你可以在右上角的Switch to tree panel view里进行调整:

baidunetdisk_cvw1pmLVRF

选中文章,即可有上下型三屏界面:

baidunetdisk_HBESdwGN8t

你也可以通过Enable widescreen mode设置为左右型三屏界面:

baidunetdisk_SCAypG6ZcK

左右型三屏界面的效果如下:

baidunetdisk_c3Xnnzy3Vd

不过我个人还是比较喜欢两屏界面。这个可以按喜好设置。

合并多RSS源

此隐藏内容仅限VIP查看。包年VIP仅10元,建议升级。VIP可享有哪些特权

IOS客户端Unread

其它选择包括Reeder 5、Feedly

如果手机不能很好地阅读自己的RSS,显然RSS是没有灵魂的。这里通过Unread,基于Fever的API实现服务端的TTRSS调用。只要是支持Fever API的RSS阅读器都行,这个你自己选吧!我只说Unread,是因为国服的App Store只有这个Unread比较好用。其它的RSS阅读器基本都不支持Fever API。我觉得Unread不是专为国人设计的,也不支持中文,有点不太满意。大家凑合着用吧!有用过其它的比较好的RSS阅读器,小伙伴们也可以评论区留言推荐。

Unread的用法如下:

  • 地址:https://rss.domain.com/plugins/fever/(这里要注意没有.local!)
  • 帐户:admin
  • 密码:启用Fever时输入的那个密码。不是登陆密码。

下面给个APP的截图:

image-20220429161210035

其实习惯了也还好。另外,听说Fiery feeds也是一个不错的选择,感兴趣的小伙伴自己尝试一下吧!

安卓客户端Feedme

TTRSS有自己的安卓客户端,详见https://srv.tt-rss.org/fdroid/#org.fox.ttrss。另外,有位在安卓里用Feedme的小伙伴分享了一下在Feedme里面使用TTRSS的Fever API。感觉还是不错的!

photo_2022-06-12_11-28-27

逃离TTRSS

可能有些小伙伴由于各种原因不想用TTRSS,并且还有很多订阅在TTRSS上。这时,如果想换一个新的RSS阅读器,也很简单的,就是通过OPML导出TTRSS里面的订阅源:

NVIDIA_Share_hSsudkWb9c

OPML是主流RSS阅读器均支持的一种订阅源格式,它可以帮你无缝转移RSS源到新的阅读器里。不过,我不清楚加星标文章能不能转移过去。

小结

大家可以通过duplicati定期备份整个$work目录(包含wwwdb)。

同时,我注意到TTRSS还支持api_feedreaderapi_newsplus,所以FeedReaderNews+应该也可以使用。大家可以试试看,好像要通过global configuration才可以调用。反正我有Unread还凑合,就不折腾了!大不了转Reeder!

最后,建议大家在入手RSS阅读器时,还是多看几个,然后选一个自己喜欢的作为长期使用的平台,省得后期换阅读器时还要转移数据。

拓展阅读

---------------
完结,撒花!如果您点一下广告,可以养活苯苯😍😍😍

感谢ZGOCLOUD友情赞助 (ฅ´ω`ฅ) 本博客基于m2w创作。版权声明:除特殊说明,博客文章均为Bensz原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。VIP内容严禁转载!由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。如有需要,请至学习地图系统学习本博客的教程。加Telegram群可获得更多帮助喔! | 博客订阅:RSS | 广告招租请留言 | 博客VPS | 致谢渺软公益CDN |

评论

  1. Max
    Windows Chrome 112.0.0.0
    1 年前
    2023-4-20 23:05:56

    我使用的是nginxWebUI,这里也补充一下,location那里,host参数需要把默认的$host修改为$http_host否则访问会报错:Please set SELF_URL_PATH to the correct value detected for your server:XXXX

    • 博主
      Max
      Windows Edge 112.0.1722.48
      1 年前
      2023-4-20 23:21:44

      好的,谢谢提醒 (ฅ´ω`ฅ)

  2. Windows Edge 112.0.1722.39
    1 年前
    2023-4-16 3:14:26

    Miniflux走起啊,省心省力

  3. lkainan
    Windows Chrome 102.0.0.0
    2 年前
    2022-6-16 11:21:40

    和freshrss对比起来,有啥优缺点呢?

    • 博主
      lkainan
      Windows Chrome 102.0.0.0
      2 年前
      2022-6-16 11:23:40

      没比较过,我觉得能用就行(~ ̄▽ ̄)~ 目前搭建的TTRSS搭配IOS里的Unread在用。我觉得体验不错。阅读器选一个差不多的就行了,重点在于自己要找找合适自己的RSS源、培养良好的RSS阅读习惯。

    • Juijote
      lkainan
      Windows Edge 107.0.1403.0
      1 年前
      2022-10-25 5:23:04

      TTRSS 是我最先用的自建在线 RSS 服务,但是过于臃肿以及手机用浏览器看很不舒服,然后跳到 FreshRSS 和 Miniflux 都使用过一段时间,Miniflux 功能过于简化了,最后选择了 FreshRSS , 尤其是支持 XPath 后就更香了。

      • 博主
        Juijote
        Windows Edge 106.0.1370.52
        1 年前
        2022-10-25 8:10:25

        感觉不错,谢谢推荐!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇