雨云服务器搭个私人RSS阅读器,2核2G机器告别算法推荐

YC 18 次阅读 发布于 7 天前 无~


AI智能摘要
当短视频和新闻App不断替你决定“该看什么”,RSS能否重新夺回阅读主动权?作者在一台2核2G的香港VPS上,通过宝塔Docker部署FreshRSS,选用SQLite,容器内存仅40-50MB;订阅三十多个来源并每20分钟自动抓取,还可借助OPML迁移、移动端同步与数据目录备份。少了广告和推荐后,十分钟读完筛选信息的体验,是否值得自建?
— AI 生成的文章内容摘要

刷了几个月的短视频和新闻App,越来越觉得不对劲——算法推什么我就看什么,信息茧房越缩越小。以前用RSS订阅博客的习惯早就丢了,这次趁着雨云那台2核2G的香港VPS闲着,用宝塔面板的Docker管理器搭了个FreshRSS,把感兴趣的博客、科技站点、独立作者全塞进去,重新找回主动阅读的感觉。

自建RSS好处

市面上有免费的RSS服务,比如Inoreader、Feedly,但免费版限制太多——订阅源数量有限、刷新慢、还有广告。付费版一个月几十块,算下来比我这台服务器年费还贵。

自建的好处很明显:

  • 数据在自己手里:所有订阅记录、阅读历史都在自己的服务器上,不用担心服务商倒闭跑路
  • 完全免费:一次性部署,后续没有订阅费
  • 访问速度快:雨云香港节点延迟50ms左右,打开秒加载
  • 没广告没推荐:干干净净只看自己订阅的内容

FreshRSS是我挑了一圈之后的选择,PHP写的,对资源要求极低,界面简洁,支持移动端自适应,还有配套的Android和iOS客户端。

准备工作

服务器我选择​雨云服务器

优惠码:Nzc0OTI0

如果你还没装宝塔,雨云的系统镜像里可以直接选,装好后在安全组放行8888端口就行。宝塔的Docker管理器是这次部署的主力工具,全程鼠标操作。

第一步:安装Docker管理器

登录宝塔面板,左侧菜单找到"Docker"。如果没安装过,点击一键安装,等两三分钟就好。装完之后界面会显示当前服务器的容器、镜像、网络等信息。

安装完成后点击进入到Docker页面搜索freshrss

配置页面默认即可

等待安装完成后

浏览器打开https://IP:16430,FreshRSS的安装界面会自动出现。需要填几个东西:

  • 数据库:选择SQLite(轻量级,不需要额外装MySQL,适合2核2G的小机器)
  • 管理员账号:设置用户名和密码,记好了
  • 语言:选中文

点击安装,几秒钟就完成了。SQLite方案对资源消耗极低,整站跑起来内存占用不到50MB。

第六步:导入订阅源

安装完成之后登录进去,界面非常干净。左侧是分类,中间是文章列表,右侧是阅读区。

开始添加订阅源,点击"订阅管理" -> "添加订阅",输入RSS地址就行。我整理了一批:

技术类

  • 阮一峰的网络日志
  • 酷壳(虽然停更了但老文章值得看)
  • V2EX热门主题
  • 少数派

独立博客

  • 自己朋友的几个个人博客
  • 一些技术圈独立作者

资讯类

  • 果壳网
  • 知乎每日精选

总共订阅了三十多个源,每天自动抓取,打开就能看到所有更新,不用挨个网站去翻。

FreshRSS还支持导入OPML文件,如果你之前用过其他RSS阅读器,直接导出再导入,所有订阅源一键迁移。

移动端阅读

FreshRSS有配套的移动客户端,我手机装了FeedMe(Android),配置好服务器地址和账号密码,就能在手机上同步阅读了。界面原生,体验比网页版流畅,地铁上刷文章很方便。

iOS用户可以用Reeder或者Fiery Feeds,都支持FreshRSS的API。

设置方法很简单,在FreshRSS设置里开启"API",获取API地址,然后在客户端填上就行。整个过程两分钟。

实际使用感受

部署好之后用了半个多月,说几个真实感受:

阅读效率提升明显:以前刷信息流,刷半小时也看不到几条有价值的东西。现在每天打开FreshRSS,几十条更新全是自己筛选过的源,十分钟看完,信息密度高得多。

资源占用极低:SQLite模式的FreshRSS跑起来,容器内存占用40-50MB,CPU几乎为0。我那台2核2G的雨云机器上已经跑了博客、知识库、导航页、Uptime Kuma,再加这个RSS,五个容器一起跑,内存总占用1.3G左右,CPU常年个位数。

自动抓取稳定:环境变量里设置了CRON_MIN=*/20,每20分钟自动抓取一次新文章。我观察了几天,基本文章发布后半小时内就能同步过来,速度满意。

数据完全可控:所有订阅列表、阅读状态、星标文章都存在 /opt/freshrss/data 目录里。上周手贱把容器删了重装,挂载同样的目录,所有数据都在,登录进去之前读过的文章还是已读状态,完全无损。

备份方案

数据目录在 /opt/freshrss/data,宝塔文件管理器里直接右键压缩就能备份。我设置了每周自动备份到本地,压缩包才十几MB,不占空间。

万一服务器出问题,换台新机器,装好宝塔和Docker,把备份解压到 /opt/freshrss/data,重新创建容器,所有订阅和阅读记录都在,不需要重新配置。

还能折腾点什么

FreshRSS的功能其实比想象中多:

  • 过滤规则:可以设置关键词过滤,比如不想看某个话题的文章,自动标记为已读
  • 扩展插件:支持GitHub上的第三方插件,比如自动翻译、分享到社交媒体
  • 多用户:可以开多个账号给家人朋友用,每个账号独立的订阅列表

我最近在研究它的API,想把阅读数据接出来做个年度报告——看了多少篇文章、哪些源产出最多,挺有意思的。