我购买了一台 VPS(的使用权)后,自托管了一些服务。放在一个领地的角度来看,想必便是可以自给自足的地方吧,就像种庄稼的农田。

该网站

首先,自然是你现在所在的这个网站了。因为是静态博客,部署上去的也只是数个静态文件。

这些静态文件们都开源,见 这里

代码托管平台

我部署了一个 Sourcehut 实例,用于自托管 Git 代码仓库。与当今主流的代码托管平台不同,Sourcehut 并没有使用 GitHub 那套 Pull Request 模式,而是通过邮件列表来进行代码审查与协作 —— 听起来颇为奇怪,对吧!其实这才是传统的开源开发模式。

目前该服务不开放账户注册,因为我暂且没有精力去管理用户。不过 Sourcehut 并不强制要求贡献者在实例上注册账号来参与代码贡献、补丁提交和问题报告。你只要有一个自己的邮箱地址,然后会使用 git send-email、将提交打包成纯文本的补丁就可以。

好奇的话访问 git.cytrogen.icu

想要部署相同的服务的话,也可以看看 我的配置文件们

RSS 聚合器

FreshRSS 是一个颇为知名的 RSS 聚合器兼阅读器,不过我的设备上都有自己的本地阅读器,所以它只用来抓取我的订阅源们啦。

地址见 这里,不过用户需要我自行注册就是了。如果有人想要使用这种服务的话,可以联系我。只是我还在考虑是否应该帮助他人托管 RSS 聚合服务。

服务器与容器监控平台

既然都有一个 VPS 了,怎么会没有监控服务呢?我选择的是 Beszel,相当轻便。除了可以看到硬件资源外,还可以看到每个 Docker 容器的状态以及日志。

邮箱服务

通过 Stalwart Mail Server,构建和维护一个自己的邮件服务器变得非常简单。

需要提起的是,大多数 VPS 提供商都会关闭 25 端口。我专门打了电话给 IONOS,才将这个端口开放。要是提供商就是要关闭的话,可以考虑使用 SMTP2GO、Resend 这样的中继器。

在选择用户名上,一个简单的方式是直接使用 cytrogen,但那样就会变成 cytrogen@cytrogen.icu,太奇怪了。最后我决定结合 .icuI see you 含义(仅是该后缀代表的含义之一),使用了 boo 这个用户名:peekaboo, I see you~

Telegram Bot

这并不是给我使用的服务…… 室友喜欢的 GPT 4 系列被 OpenAI 下架,只能使用 API 来访问 GPT 4o 或者 4.1。如果是电脑的话,还能访问 OpenAI 的沙盒。那移动端呢?最好是使用一个稍微正常点的客户端。在权衡之下,我们选择了 Telegram Bot。而我因为偷懒,用的是 pipedude 的 evi-run 项目,因为它提供了 Docker 镜像。

实际部署期间发现该项目还是存在着许多小问题,最主要的便是要在代码里硬编码 prompt,实在是不够优雅!遂改成读取 .txt 文件的方式获取 prompt。然后是语言上,作者只提供了英语和俄语,只能自己添加中文。

说到 Bot,我最初学习编程时,开始捣鼓的第二个项目便是 Bot。那会儿 QQ 抓第三方 Bot 还没有抓那么紧,我创建的那个 Bot 起初叫 Kami,后面改名为 Hoka。后面因为 CQHttp 的没落,我也就不再折腾 Bot…… 其实现在因为 QQNT 项目的出现,Bot 应该比过去更好创建了才是,或许我也可以重新拿起 Bot 开发。

总之,我修改后的 evi-run 项目代码在 这里