Docker系列 安装个人RSS服务TTRSS 手机完美适配

转自我的个人博客https://blognas.hwb0307.com。欢迎关注!

前言

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

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

  • 基于Docker,自建难度低,迁移性好。
  • 自建RSS订阅器平台足够强大。有fiter功能等。
  • 数据完全掌握在自己手中。可通过duplicati备份。
  • 无广告,不担心托管平台倒闭。RSS阅读器平台经常会由于盈利或政策原因关门。
  • 没有订阅数上限或其它恶心的限制。完全免费。
  • 进一步压榨VPS。毕竟有这么多性能溢出!

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

搭建过程中主要参考咕咕:二十分钟搭建一个属于自己的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

新建文件:

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

这里要说明的是,除了按需修改的部分,其它代码大家尽量不要动它,免得在后面的设置中出错。如果你是大神就当我没说吧!

上线服务:

cd $work && docker-compose up -d

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

docker-compose logs -f

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

sudo chmod 777 $work/feed-icons

重启应用:

docker-compose restart

ddns-go & NPM

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

NPM无特殊设置。类似于:

初始化

默认帐户:

帐号:admin
密码:password

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

在用户这里,点admin:

填入一个新密码:

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

设置

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

启用外部API

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

开启Mercucy和opencc功能

开启Mercucy是为了可以获取全文;开启opencc是为了中文的简繁体转换。记得点启用选择生效。这主要是电脑端的优化吧,对手机阅读端而言没有太多影响。

启用Fever API

可以用bitwarden生成一个密码并填入Set Password前面的空格中,记得点击Set Password保存。这个密码主要是在手机客户端通过Fever API订阅时需要用。你也可以设置得简单点。不过,如果你手机上有bitwarden的话,密码再长也无所谓,因为你不需要记住它!

设置订阅源插件

我们的docker-compose安装过程中已经内置了Mercucyopencc两个应用。由于之前在偏好设置中启用了Mercucyopencc功能,所以这里我们要指定它们的应用API。

  • Mercucy:

  • opencc

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

添加分类和信息源

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

主页的入口:

偏好设置中的入口:

不懂的话评论区留言。

其它

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

不展开文章

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

换主题

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

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

实际效果如下:

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

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

快捷键

像大多数RSS阅读器一样,TTRSS也有快捷键:

我觉得比较实用的快捷键就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的截图:

其实习惯了也还好。

小结

大家可以通过duplicati定期备份整个$work目录。

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

日志

  • 2022-05-01:使用了几天Unread,发现Unread对于个人博客同步的支持较差,常常爬不到内容,也拉不到历史内容;TTRSS明明是可以爬取到的。暂无解决方案。

参考

本文使用 文章同步助手 同步

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容