前不久发生了一件有趣的事:我读到了关于 Fresh RSS 的介绍,觉得很不错,于是把它安装到一台服务器上并开始使用。一年前这种事是不会发生的,不过话说回来,一年前我也还没有任何 NixOS 服务器。
过去几年,我的 RSS 订阅一直只存在于手机本地。这个想法本身是合理的,因为我大多数时候都是在离开电脑时才有时间阅读,但在实践中它始终不太好用。许多内容在大屏幕上阅读更方便,而且让手机应用管理上百个订阅源中数千篇文章的已读/未读状态,也很脆弱。我换手机时虽然可以迁移订阅源,但已读/未读状态在迁移过程中丢失了。
我真正想要的是一个服务器端的订阅聚合器,即运行在服务器上、管理 RSS 订阅源、并可以通过网页界面或客户端应用阅读的软件。我这个想法已经存在了一段时间,但一直没有付诸行动,因为这又会是一个需要维护的副项目。现在,凭借一些 NixOS 经验,添加一套可正常运行的 Fresh RSS 配置(包括备份)只用了 9 行 Nix 代码,外加十几行用于 nginx 反向代理的配置。这套安装已经无人值守运行了几个月;如果服务器出现故障,只需用完全相同的配置启动一台新服务器,大约 15 分钟即可恢复。
相比之下,在 NixOS 之外安装 Fresh RSS 需要解压归档文件、配置权限、安装并设置 nginx 和 php-fpm、配置 Let's Encrypt 证书、设置备份,并且还要希望自己在日后重新安装时记得所有这些步骤。容器镜像在一定程度上简化了这一过程,但仍然需要记住各个步骤,也无法保证数月之后得到相同的结果。
作者不喜欢维护副项目,哪怕是很小的项目,因为紧急维护和大量的升级工作会消磨人与计算机打交道的热情。可复现的配置正是让自托管变得可以轻松管理的关键。
来源: Hacker News · 由HeadlinesBriefing整理摘要