--- created: 2025-08-30T11:45 updated: 2025-09-22T13:27 --- > 转自我的个人博客[https://blognas.hwb0307.com](https://link.zhihu.com/?target=https%3A//blognas.hwb0307.com/)。欢迎关注! 前言 -- 关于RSS的介绍这里不再多说,请看我的另一篇博文:[解决信息爆炸困扰的完美方案——RSS](https://link.zhihu.com/?target=https%3A//blognas.hwb0307.com/skill-2/816)。 RSS订阅器平台有很多选择,大家可以看这个文章:[2022年10款最佳RSS阅读器推荐(在线/软件+免费/付费)- 安卓、iOS, Windows, Mac, Linux等适用!](https://link.zhihu.com/?target=https%3A//www.extrabux.cn/chs/guide/6500762)。那**为什么我还是觉得应该有一个自己的RSS订阅器平台**呢?我觉得有以下几点理由: * 基于[Docker](https://zhida.zhihu.com/search?content_id=202687598&content_type=Article&match_order=1&q=Docker&zhida_source=entity),自建难度低,迁移性好。 * 自建RSS订阅器平台足够强大。有fiter功能等。 * 数据完全掌握在自己手中。可通过duplicati备份。 * 无广告,不担心托管平台倒闭。RSS阅读器平台经常会由于盈利或政策原因关门。 * 没有订阅数上限或其它恶心的限制。完全免费。 * 进一步压榨VPS。毕竟有这么多性能溢出! 下面我们搭建一个RSS平台——`[Tiny Tiny RSS](https://zhida.zhihu.com/search?content_id=202687598&content_type=Article&match_order=1&q=Tiny+Tiny+RSS&zhida_source=entity)`,即`TTRSS`。基于[Fever API](https://zhida.zhihu.com/search?content_id=202687598&content_type=Article&match_order=1&q=Fever+API&zhida_source=entity),`TTRSS`也可完美地适配手机端(IOS; 安卓应该也是类似的)的阅读。 搭建过程中主要参考[咕咕:二十分钟搭建一个属于自己的RSS服务](https://link.zhihu.com/?target=https%3A//blog.laoda.de/archives/tinytinyrss)和一些官方文档。总之很容易安装。开始吧! 测试环境 ---- 用的腾讯云VPS: ```text 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 ``` 准备工作 ---- ```text # 工作目录 按需修改 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 ----- 新建文件: ```text vim $work/docker-compose.yml ``` 添加以下内容: ```text 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 ``` 这里要说明的是,除了`按需修改`的部分,其它代码大家尽量不要动它,免得在后面的设置中出错。如果你是大神就当我没说吧! 上线服务: ```text cd $work && docker-compose up -d ``` 可以通过这个命令查看日志: 改变文件夹的权限。这一步一定要做,否则TTRSS无法成功启用。 ```text sudo chmod 777 $work/feed-icons ``` 重启应用: ddns-go & NPM ------------- ddns-go或者域名托管后台里添加域名:`rss.domain.com` NPM无特殊设置。类似于: ![](https://pica.zhimg.com/v2-d28181fe1168150a941d319d76cc9640_1440w.jpg) 初始化 --- 默认帐户: 第一次登陆进行要先改一个密码,用bitwarden生成强密码: ![](https://pic3.zhimg.com/v2-d8e5cd93990ffbbb6e2bc3b2a60eb922_1440w.jpg) 在用户这里,点admin: ![](https://pic3.zhimg.com/v2-bab0675bd3363059b071589e461379c4_1440w.jpg) 填入一个新密码: ![](https://pic2.zhimg.com/v2-6df75399d107ca06599d5b4b2e4cd831_1440w.jpg) 更改新密码后,重新用新密码登陆。帐户信息可用bitwarden保存。 设置 -- 我们可以去`偏好设置`那里: ![](https://picx.zhimg.com/v2-e9673b2e356c63d78006aa9a8ffe7eed_1440w.jpg) 启用外部API ------- 这一部分的设置主要是为了让外部终端(比如手机的[Unread](https://zhida.zhihu.com/search?content_id=202687598&content_type=Article&match_order=1&q=Unread&zhida_source=entity))可以访问它。毕竟我们很有可能经常在手机上看我们的RSS订阅! ![](https://pica.zhimg.com/v2-1ce6ca6a4e3916310b6753c9750611f2_1440w.jpg) 开启Mercucy和opencc功能 ------------------ 开启`Mercucy`是为了可以获取全文;开启`opencc`是为了中文的简繁体转换。记得点`启用选择`生效。这主要是电脑端的优化吧,对手机阅读端而言没有太多影响。 ![](https://pic1.zhimg.com/v2-0d4bca74806e9268c4d124915be88e3c_1440w.jpg) 启用Fever API ----------- 可以用bitwarden生成一个密码并填入`Set Password`前面的空格中,记得点击`Set Password`保存。这个密码主要是在手机客户端通过Fever API订阅时需要用。你也可以设置得简单点。不过,如果你手机上有bitwarden的话,密码再长也无所谓,因为你不需要记住它! ![](https://pic2.zhimg.com/v2-8456b3879e1a6bd552b58baa7d884e53_1440w.jpg) 设置订阅源插件 ------- 我们的docker-compose安装过程中已经内置了`Mercucy`和`opencc`两个应用。由于之前在偏好设置中启用了`Mercucy`和`opencc`功能,所以这里我们要指定它们的应用API。 * Mercucy: ![](https://pic1.zhimg.com/v2-2c79fb0ea5c80a0c67dfd3daea6b4534_1440w.jpg) * opencc ![](https://picx.zhimg.com/v2-bb6f36f60f1963bee43b486017070c79_1440w.jpg) `TTRSS`的设置和一般软件设置的布局不太一样,刚开始操作时可能令人摸不着头脑。大家多多探索一下,应该问题不大! 添加分类和信息源 -------- 这个就比较简单了,自己摸索一下吧。主要有2个入口,这里直接贴图。 主页的入口: ![](https://pic4.zhimg.com/v2-564905f4d2ec123e10761ea9eba07fb9_1440w.jpg) 偏好设置中的入口: ![](https://pica.zhimg.com/v2-8b370d56c53fa8f5134886db03a15dae_1440w.jpg) 不懂的话评论区留言。 其它 -- 这里主要分享一些我觉得比较实用的设置。 不展开文章 ----- 有些订阅源的正文很长很长,如果你设置了`始终展开文章`,阅读体验很差。 ![](https://pic4.zhimg.com/v2-eee42b13c2fcbdc2c7fcdcc2115e67c3_1440w.jpg) 换主题 --- 如果不喜欢默认皮肤,还可以换主题。这个利好颜控! 比如,我将主题改成`feedly-cozy`: ![](https://pica.zhimg.com/v2-1075b8d75dc89ed6a3aba58bd0c235d8_1440w.jpg) 实际效果如下: ![](https://pica.zhimg.com/v2-ff9fd5665590dc54e08215615dc3af36_1440w.jpg) 看某篇文章时的效果如下: ![](https://pica.zhimg.com/v2-abfa96d99798b8b2b2d2900a460eddb4_1440w.jpg) 感觉棒棒哒!其它主题就没试过了。我比较随意,并不在意这些花里胡哨的东西。 快捷键 --- 像大多数RSS阅读器一样,TTRSS也有快捷键: ![](https://pica.zhimg.com/v2-ff6b72e9b8df9b31a561648f55770bbe_1440w.jpg) 我觉得比较实用的快捷键就2个: * `a+q`:将展开的文章折叠 * `f+q`:将某个分类的文章全部标记为已读(这个真的好用!) IOS客户端Unread ------------ 如果手机不能很好地阅读自己的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的截图: ![](https://picx.zhimg.com/v2-20de9a1c224d5fd284e0761e687ef513_1440w.jpg) 其实习惯了也还好。 小结 -- 大家可以通过[duplicati](https://link.zhihu.com/?target=https%3A//blognas.hwb0307.com/linux/docker/471)定期备份整个`$work`目录。 同时,我注意到TTRSS还支持`api_feedreader`、`api_newsplus`,所以`FeedReader`和`News+`应该也可以使用。大家可以试试看,好像要通过global configuration才可以调用。反正我有Unread还凑合,就不折腾了!大不了转Reeder! 日志 -- * 2022-05-01:使用了几天Unread,发现**Unread对于个人博客同步的支持较差**,常常爬不到内容,也拉不到历史内容;TTRSS明明是可以爬取到的。暂无解决方案。 参考 -- * [知乎:RSS打造完美信息流](https://zhuanlan.zhihu.com/p/370156661) * [Awesome TTRSS](https://link.zhihu.com/?target=http%3A//ttrss.henry.wang/) * [咕咕:二十分钟搭建一个属于自己的RSS服务](https://link.zhihu.com/?target=https%3A//blog.laoda.de/archives/tinytinyrss) * [自建rss服务并适配 IOS 移动端( TTRSS + Fever )](https://link.zhihu.com/?target=https%3A//www.jianshu.com/p/2aeadace5a08) * [知乎:你必读的 RSS 订阅源有哪些?](https://www.zhihu.com/question/19580096):这里有很多好回答。 > 本文使用 [文章同步助手](https://zhuanlan.zhihu.com/p/358098152) 同步