起因是我的Bitcron 博客不知道出了啥问题,Dropbox 同步失效了,而我又没有能力去找原因,更何况 BItcron 的作者已经放弃它转向 Farbox 2.0 了。本来是可以用 Github Page 这样的服务,但又不会折腾主题啥的,又不想放弃现在用的这个主题,于是脑子一热决定自部署 Farbox,于是有了这个记录。
VPS
一开始是用了 DigitalOcean,因为之前尝试用过,但是一个月最低要 6 美刀,对于我这种基本没人看的博客实在是有点贵。然后就发现了 RackNerd,一年 25 美刀,内存还大一倍,虽然还是有点点贵,但是可以接受了。
注册账号,付费之后,VPS 会先处于 Pending 状态,一天后才进入 Active 状态,然后就收到一封邮件,告诉你一些登陆信息。这时候我才知道,原来并不是所有 VPS 都会有一个 DigitalOcean 那样有一个网页版的 Console 的,我需要一个 SSH 客户端连接登陆服务器才能操作。我上网搜了 macOS SSH 客户端,下载了第一个推荐 RoyalTSX,然后折腾了好久也没搞明白怎么用。经过又一通搜索,我才知道原来 macOS 自带了 SSH。
只需要在 iTerm 里输入 ssh username@xxx.xxx.xxx.xxx
,然后输入密码就可以和 VPS 建立连接了。当然发现这一点的过程也是费了力气的,一开始输入ssh username@xxx.xxx.xxx.xxx
后会提示 类似于127.0.0.1 关闭了连接之类的。我的第一反应是电脑的代理问题(因为之前搞翻墙软件经常出现网络问题,好多也跟 127.0.0.1 这个地址有关),于是我关了 Stash(后来发现好像只要关 Stash 的增强模式就好了),情况有好转,提示输入密码,输入密码后又被拒绝连接。在折腾几次无果后,抱着死马当活马医的态度我用邮件里提供的另一个账号密码登陆了RackNerd 的控制面板,改了 SSH 密码,再用 SSH 登陆,居然奇迹般的可以了。
自托管Farbox
此处主要参考了这篇少数派文章,把文章中的代码直接复制粘贴到 iTerm 然后等待就行了,只不过我当时选 VPS 系统时选了带 Docker 的 Ubuntu,于是不需要安装 Docker 那步。之后就是根据文章中的介绍,创建 Bucket,保存私钥,然后设置一些网站的基本信息,比如标题(目前我只改了这一个)。
接下来就是绑定域名,直接点击 Dashboard 的 Binding Domain,然后根据提示在自己域名下加两个 DNS 解析记录,一个 A 记录到 VPS 的 IP,还有一个 TXT 记录,等待域名生效,这时候就能通过 http 网址访问目前还是空白的博客了。但是浏览器网址前会有一个提示不安全的红色锁,需要给域名整个SSL 证书。直接参考Farbox 文档相关内容,从腾讯云申请免费证书,给域名加 DNS 记录,等待审核,审核通过下载文件,填入到 Farbox Dashboard,等待 SSL 生效就可以了。
然后就是如何往博客发文章的问题了,Farbox 不支持 Dropbox 同步了,虽然教程里也有个 Python 脚本可以用 Github Action 来搞定,但是我尝试了一下没成功,于是花 45 块钱订阅了 Farbox 同作者的写作软件 Metion 的高级版,这样写好东西发布只需要鼠标点两下就行了,不需要复杂的 Git 之类的技术,这对于让我多写东西很重要。
自托管 FreshRSS
因为 RackNerd 的 VPS 便宜空间又大,这样可以再搞点别的玩意儿了,选来选去我选中了 FreshRSS,原因之一是看了一篇少数派的教程,感觉应该搞得定,原因之二是,我现在RSS 用的阅读器是 Reeder,支持的自托管服务不多,FreshRSS 是其中之一,万一要搞 Tiny Tiny RSS 我可能得换 ReadKit,搞不好又是一笔开销。
试下来发现我确实高估了自己的能力,中间那个 Let's Encrypt 和 traefik 实在是没搞明白,只能放弃了这部分,参考这篇进行了最简单的设置。于是一切变得简单起来。导入订阅文件,然后设置 API 和密码,在 Reeder 填入相关信息,就能同步了。其实之前一直在 macOS 和 iOS 上用 Reeder 5 自带的 iCloud同步挺好的,之所以想搞自部署主要是想在 Android 上,以及以后可能得在 Windows 上同步,以及我还很想拥有过滤功能。我在 Android 上用的 RSS 阅读器是 Read You,一个还在开发中的软件,Material You 界面,UI 模仿 Reeder,说是要支持 FreshRSS,但是目前还没有支持,只支持 Fever。于是我去查能不能装个插件啥的让 FreshRSS 支持 Fever,然后就发现FreshRSS 支持 Fever,只需要把 API 连接改为https://freshrss.example.net/api/fever.php
的格式,再填入账号密码,就成功了。
目前这样的我已经满意了,不想再考虑给它绑个域名再整个 ssl 的问题了。(其实已经研究过了,实在是搞不了)
Memos
在发现 VPS 还有些内存的后,我又自部署了 Memos 这个开源自托管版的 flomo。过程很简单,按照官方教程就行了,弄完之后手机下个 Moe Memos(Android 和 iOS 都有,Android 还是 Material 设计),用 Open API 登陆就能用了。目前看起来还不够精致,标签,图片上传啥的都比较难用,想搞到 flomo 那样得费点力气,关键现在它还不支持导入导出,我还是先用着 flomo,再等等它吧。