Logo文檔筆記工具關於我
语言 / Language
切換主題
2025 年 6 月 22 日

有趣的 Self Host

这篇笔记将会分享我自己正在使用的或者曾经使用过的、支持本地容器化部署的服务。这些服务大多是一些开源的服务,如果这篇笔记对你有帮助,可以到 GitHub@JimmyKmiBiliBili@JimmyKmi 给我点个关注~

笔记内容将会持续更新,主要是太忙了…还没有太多时间敲笔记。

什么是我喜欢的 Self Host

按照我的定义,一个 Self Host 的服务应当具备以下几种条件:

  1. 支持本地部署,最好是支持容器化部署。
  2. 本地部署的版本相对云端(如有)没有明显功能消减。
  3. 我可以接受其由一个可靠的商业组织维护,但最好会接受社区的参与与代码审查。

在选择 Self Host 服务的时候,若有同类型的项目,我会更优先选择以下类型

注意,这里只是我的个人喜好,不代表我的喜好就是"正确的"。

  1. 代码公开,或者说社区版代码公开(ce),并且接受社区维护。我的考虑是,这类开源项目能更容易地接受审查,任何潜在漏洞在被发现和修复时往往会更加迅速。对于不开源的项目,我总会有所顾虑,担心可能会存在一些未被察觉的漏洞。

  2. 对社区版保持长期免费的政策。这一点与第一点密切相关。我并不反对项目推出企业版或付费版,并且很乐意为作者购买一杯咖啡或购买一个付费版。然而,我认为如果社区版或开源版能够公开接受 PR,应该为社区上的个人用户提供一个能够满足个人使用需求的基本免费版本。

  3. 适配 SSO 的程序。尽管使用密码管理器也很方便,但维护多套密码仍然是一个非常费劲的活。

    1. 一键通过双层 SSO:我会在关键的服务外层(nginx 层)套用多一层 SSO,即使源站存在漏洞,也可以在外层 SSO 将风险请求拦截下来。而源站支持 SSO,就可以实现一键通过双层 SSO 的效果。
    2. 统一的账号管理与授权:如果需要将某些服务给与朋友/家人使用,例如云存储或者笔记,可以在身份认证提供服务器上直接开通,而不需要在不同平台进行操作。当然账号失窃时也可以一键封禁。
  4. 没有 SSO Tax 或极低的费用。如果一个软件推出了其企业版,往往会推出各种限制以保证企业版的功能独特性。但部署一个 SSO 服务对于"能够 Self Host 社区版"的用户来说也不算是什么难题…这很可能拦住了我这种对 SSO 强烈需求的人。

我的 Self Host 都是如何运行的

先画个饼,以后更新…

催更:jimmy@lzj.ac.cn