最近看到了一个叫 Memos 的开源自托管笔记工具,非常惊喜,奈何这东西需要服务器部署。那没办法了,一咬牙一闭眼,斥巨资购买了一台阿里云香港的 VPS。
但毕竟服务器资源闲置也是闲置,我自然是顺手又给它叠了几个同样有趣的项目。
“万恶之源” Memos#
不多说了,服务器就是为它买的。
这是我特别喜欢的笔记软件 Flomo 的界面:

我认为 Memos 可以作为 Flomo 的开源替代去用,就像 AppFlowy 或 Affine 对于 Notion 的替代一样(就这俩目前的功能而言,替代 Notion 都不太现实,而碰巧我很不喜欢 Notion 哈哈)。
搭建非常轻松,没有什么踩坑的点,我是直接按照官方的 docker-compose 文件搭的,这款应用的网页端可用度非常高,所以我目前桌面端就是将其作为应用安装在桌面使用的(感谢 Gnome 家美妙的浏览器 Epiphany),至于移动端,我推荐的选择是第三方的MoeMemos ↗,拥有对于 Android 和 IOS 的完整支持,唯一稍显不足的是似乎不支持折叠 Memo,对图片的上传也有些问题。但是这并不重要~

不想学 Nginx 的懒人福音 Nginx Proxy Manager#
我记得这东西有段时间在网上很火的啊,搜反向代理排名前几的都是推荐 NPM 的,不知道为啥现在好像看不太见了。
部署也非常简单,但是资源消耗有点大······
没办法,用它部署反向代理实在是太方便了,点几下就把从反代到 Let’s Encrypt 申请证书都解决了,没法不用啊。

来都来了 x1 FreshRSS#
我个人其实并不算是一个在线 RSS 阅读器的重度用户,我更喜欢在一个叫做 ReadYou 的移动端阅读器中读,而该阅读器是本地存储 Feeds 列表的。然而,每当我更换桌面端的 RSS 阅读器,或是有一些同步订阅源的需求,我就需要一遍一遍导入和导出 OPML,这实在太麻烦,于是所幸就自己搭建了一个 FreshRSS 实例。
FreshRSS 总体来说还是比较轻量化的,不过我选择的配套数据库是 PortgreSQL,并不算一个太轻量的数据库。
搭建方面我参考了ChrAlpha 的文章 ↗,写得非常详细了,安装完之后记得要在用户设置->管理->认证 中勾选允许 API 访问,然后返回账户->用户账户 填写一个 API 密码,才能让你的 RSS 阅读器通过该密码登入你的服务。
使用方面挺中规中矩,没有值得大书特书的亮点,但是并不难用。界面虽不惊艳,却也算简约现代。
不错的应用。

来都来了 x2 Wallabag#
我以前还在用 Firefox 的时候,也算是一个 Pocket 的中度用户了,看到什么好的文章就会存到 Pocket 里。但既然有了开源的解决方案,肯定是要支持的。
不过 wallabag 的搭建就比较难受了,我选择的依旧是 docker-compose,但是其配置文件经过了我几次修改,现给出一个应该能用的版本:
version: '3'
services:
wallabag:
image: wallabag/wallabag
environment:
- MYSQL_ROOT_PASSWORD=wallaroot
- SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
- SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=3306
- SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD=wallapass
- SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
- SYMFONY__ENV__MAILER_HOST=127.0.0.1
- SYMFONY__ENV__MAILER_USER=~
- SYMFONY__ENV__MAILER_PASSWORD=~
- SYMFONY__ENV__FROM_EMAIL=你的邮箱地址 # 修改成你自己的邮箱
- SYMFONY__ENV__DOMAIN_NAME=https://doma.in/ # 修改成稍后要反向代理的域名
- SYMFONY__ENV__SERVER_NAME="My Wallabag"
ports:
- 7007:80 # 7007 可以修改成其他的自己想用的端口
volumes:
- ./images:/var/www/wallabag/web/assets/images # 将图片映射挂载到本地
healthcheck:
test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost"]
interval: 1m
timeout: 3s
depends_on:
- db
- redis
db:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=wallaroot
volumes:
- ./data:/var/lib/mysql # 将数据映射挂载到本地
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
interval: 20s
timeout: 3s
redis:
image: redis:alpine
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 20syaml演示图就不放了,我应该不太会去用它的网页版,桌面端可以使用Read It Later ↗,至于移动端,可选项就不少了,我选择的是FeedMe ↗。
来都来了 x3 GoToSocial#
不知道各位小伙伴听过 Mastodon 没有,最近它又因为马斯克老师而火了一把。
我最早应该是 21 年上半年开始用 Mastodon,当时在几个中文实例间辗转。后来在小森林定居。但近期因为一些原因,小森林的访问变得有些困难,于是所幸自己搭了一个实例。
但是,在面对 Mastodon 这种笨重的庞然大物时,我那 2C1G 的服务器开始止不住地颤抖起来,难道就没有更轻量级,但又能和 Mastodon 几乎完美兼容的应用吗?
GoToSocial ↗就这样来到了我面前。
这是一个使用 Go 编写的,兼容 Mastodon API 的服务端应用,可以与各种支持 Fediverse 的应用互通。这意味着,你可以使用大部分现成的 Mastodon 客户端登录并使用 GoToSocial,且大部分功能正常使用。而 GoToSocial 对服务器的内存花销是——50~100Mb。
绝了!
GoToSocial 的部署出奇简单。通过 docker-compose,仅需要几行命令便可部署一个可用的实例。但有一个点我目前没太弄明白,就是用户的删除,我至今还无法删除我创建的测试账号,只能当小号用。
另外需要注意的一点是,使用 GoToSocial 关注的用户,只向你展示你关注他之后他发布的内容,且他的关注与粉丝也都只会显示你。这样做可能也是为了安全性考虑吧。
那么,多关注些人,耐心等个几天,你的时间线会再次热闹起来的。
对了,我的 Mastodon 账号是 @crisq@g.crisq.top,欢迎来找我玩!
收工#
以上便是我目前在服务器上搭建的所有服务,迫于服务器资源限制,有些我很眼馋的项目却没有机会搭,不得不说是件憾事。
要不…V 我 50 让我再买台服务器?
