我VPS上的Selfhost服务
以前刚玩博客的时候用的 Wordpress 作为博客系统,基本上都搭建在一些互联网的公益服务上,如今还记得就是 wpoak 这个平台,不过这些服务难抵时间漫长,大多因为成本问题关门大吉了。
所以之后开始自己买 VPS 进行博客程序部署,也开始慢慢重视起数据的重要性和自我保有。
刚开始 VPS 还是玩的非常简单,实例化完成后便用 lnmp 等程序一键装好 PHP 环境,然后下载上传 WordPress 安装程序便算完事了,后来接触的多了才知道 VPS 能做的事情元远不止于此。
后来我开始接触到 Docker,然后研究各种 Selfhost 的应用、服务。
昨天在夜未央的「浪费」一文中评论到:「对于很多普通用户来说基本上没有什么选择了,我们是喜欢折腾和了解,知道有什么渠道去找平替」。而后又在 Dayu 的「目前使用的自托管服务」一文中看到了他分享的 Selfhost 清单,所以这里索性也做一次分享,希望也能让更多的人用到这些开源、可控、好用的服务,利用起自己 VPS 上多余的算力资源。
我目前的 VPS 只有一个国内的腾讯轻量云。
配置为 2C2G4M,一年费用大概在 100 元左右,目前购买了 3 年,自托管的服务如下:
Ghost
这是我目前使用的博客后端,Ghost 在国内算是非常小众的博客程序了。
我大概在 16 年开始使用 Ghost 作为博客系统,当时服务部署在百度的 BAE 平台上,「在百度开放云BAE上部署GHOST博客并配置七牛云」,后因服务不能在继续免费白嫖几经搬家,后落到现在的 VPS 上。
可以使用 Docker 或者 Ghost 官方的 CLI 程序安装。在以前的老版本时,数据库支持 SQLite,后来几经更新,现在在正式环境中只能使用 MySQL。
- 推荐程度:🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - TryGhost/Ghost: Independent technology for modern publishing, memberships, subscriptions and newsletters.
Artalk-Go
在早期时 Ghost 并没有提供评论功能,虽然在后续的迭代中增加了评论功能,但是在我看来不太友好,而且因为评论需要用户登录,其他使用 Ghost 评论功能的小伙伴反应,在迁移过程中需要额外进行会员数据、评论数据处理,所以我一直没有使用。
所以我最开始使用的自部署评论程序是 Twikoo ,但是因为这个项目更新在很长一段时间内停滞,且管理面板、功能过于简陋,几经尝试后换到了 Artalk。
Artalk 是国内大学生大佬开发的一款 Disqus 的第三方评论平替程序,开源,自部署,且功能十分丰富,更新也非常勤快,个人认为是一款非常完善的评论程序。
可以用 Docker 部署。
- 推荐程度:🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - ArtalkJS/Artalk: 🌌 Your Self-hosted Comment System. | 自托管评论系统
MySQL
这个不用多说,声名远播的开源数据库,因为 Ghost 和后面其他的一些程序需要用到。
可 Docker 部署。
- 推荐程度:🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:MySQL
Vaultwarden
密码管理器我以前使用的是 LastPass 这个免费服务,但是在使用过程中频繁出现网络问题无法使用,而且管理面板没有中文,且某一次还出现了安全漏洞的问题,自那后我就切换到了 Bitwarden,在 PC 上通过浏览器拓展可以快速进行当前网站的密码填充。
但是因为想用密码泄露检测等服务,不过这些功能在官方的 Bitwarden 上都是需要付费使用,所以我开始使用了国外大佬基于 Bitwarden API 重新实现的开源密码管理程序 Vaultwarden,Bitwarden 中一些需要付费使用的服务在 Vaultwarden 上都能免费使用,搭配第三方的安卓端 Keyguard ,可以说颜值与实力并存。
密码管理器我是非常推荐每一个没用过的人使用的。
因为一些第三方网站管理员自身水平良莠不齐,可能会因为服务漏洞导致数据库泄露,此时如果你将常用密码用在注册这些网站上,届时你的其他重要服务被撞库暴力破解的风险将大大提升。
但是如果你使用密码管理器的随机高强度密码,只要在主密码没有泄露的情况下密码的情况下,即便数据库泄露了也不用担心被破解的风险,且因为在注册时使用的随机密码,即便第三方服务的数据库被泄露也不用担心被撞库。
- 推荐程度:🌟🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - dani-garcia/vaultwarden: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
Alist
Alist 是一个非常好用的网盘管理程序,因为太好用、用的人太多了,导致国内一些网盘实在承受不住,甚至不顾脸面将以前承诺的一些服务重新二次收费——没错,说的就是你「阿里网盘」。
Alist 可以在一个程序内管理你的大部分网盘服务,将他们集成在一起统一管理,并且通过 Alist 的一些拓展实现诸如公开分享、WebDav 等等,但是因为用的人实在太多了,而且很多影视程序也跟着上来薅羊毛,把网盘做成资源服务开放给其他人使用,导致这些情况的发生。
但是,即便这样,Alist 也依旧是一款非常好用的网盘管理程序。
- 推荐程度:🌟🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - AlistGo/alist: 🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
Memos
Memos 是个非常好的 Flomo 平替工具,可以方便的进行卡片笔记记录,甚至你可以拿他当作微博、微博客来用也没什么问题,而且作者更新也非常勤快。
但是开发者时常进行 Break Change,我碰到的就有不下三次,导致我实在不敢继续再升级了,在某一次回退后彻底停留在目前使用的 v0.18.1 版本,好在那时的功能已经非常完善,即便不升级也不影响软件的后续使用。
- 推荐程度:🌟🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - usememos/memos: An open-source, lightweight note-taking solution. The pain-less way to create your meaningful notes. Your Notes, Your Way.
Umami
google 统计的平替服务,之前部署在 Raliway 上,但是因为平台收费政策调整,只给 5 刀的免费额度,导致有一次超出额度,多交了 30 多元的费用后转移到 VPS 上部署。
- 推荐程度:🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - umami-software/umami: Umami is a simple, fast, privacy-focused alternative to Google Analytics.
GoToSocial
一款用 Go 写的联邦宇宙实例工具,长毛象的超小型替代,但是我没有玩的太明白,使用过程中出现很多莫名奇妙的问题,暂时放弃。
- 推荐程度:🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - superseriousbusiness/gotosocial: Fast, fun, small ActivityPub server.
miniFlux
一款开源的 RSS 阅读器,简单好用,没有多余的花哨功能。
- 推荐程度:🌟🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - miniflux/v2: Minimalist and opinionated feed reader
lx-music-sync
洛雪音乐的同步服务,可以在手机、PC 端之间同步历史记录、收藏等等。
- 推荐程度:🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - lyswhut/lx-music-sync-server: 运行在Node.js上的LX Music数据同步服务
wewe-rss
国内大佬开发的一款微信公众号转 RSS 订阅工具。
- 推荐程度:🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - cooderl/wewe-rss: 🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)v2.x
Express
我用 Docker 部署了一个 Express 服务,用于博客上一些需要后端的小功能,如点赞、PC 状态同步等。
- 推荐程度:🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - knarjin/bitnami-docker-express: Bitnami Express Docker Compose development environment
WatchTower
Docker 镜像更新服务,通过维护一个需要自动更新的 Docker 容器名称列表,实现对对应容器镜像的自动更新。
- 推荐程度:🌟🌟🌟
- 部署方式:Docker
- 是否开源:是
- 项目地址:GitHub - containrrr/watchtower: A process for automating Docker container base image updates.