BlackHalo logo
Published on

Cloud in a Bottle:让自托管人人可及

Authors
  • Name
    zplizzi
    cloudinabottle.org
Cloud in a Bottle 个人云平台的仪表盘界面,展示已安装的应用和统一登录状态
头图来源: 来源页面

背景与动机

作者对当前数字世界感到沮丧:软件与用户利益严重错位——故意让人上瘾、充斥广告、追踪用户并出售数据、不断“劣质化”。尽管软件制作比以前更容易,但现状却愈发糟糕。作者认为,一个关键原因是软件向云端的迁移。云端软件(如 Google Docs 对比 Microsoft Word)提供了极佳体验:无需安装、多设备访问、即时分享协作。然而,在云端提供服务需要成本,因此现代网络上的几乎所有软件背后都有一家公司——开源作者自然不愿为免费软件支付服务费用。而这些公司的财务激励与用户利益根本不一致。

在云时代之前,开源软件运作良好:作者分发软件,每个人在自己的电脑上“托管”(即运行)它。如今,云软件集中化,单个实例服务全球,成本由创建者承担。这是因为个人没有便捷的方式将软件为自己部署到云端。自托管(self-hosting)虽然存在,但它小众且难以接近。

现有自托管方案的不足

作者考察了现有的自托管选项,没有一种感觉合适:

  • Sandstorm.io:精神上非常接近(其2014年的文章几乎提出了相同的论点),但可惜早已被废弃。它还需要对现有软件进行重大修改才能在其平台上运行。
  • Nextcloud:缓慢且不可靠,现在更偏向企业用户。
  • YunoHost:应用直接在宿主机上运行,没有沙箱隔离。一个不安全的应用会危及整个服务器。
  • Coolify:托管容器化应用,但每个应用都是孤岛,拥有独立的登录系统,与宿主机或其他应用几乎没有集成。

Cloud in a Bottle 的核心设计

Cloud in a Bottle 是对自托管的又一次尝试。其核心只是一台 Ubuntu 机器,配备一个 Web 服务器,用于托管仪表盘并将 HTTP(S) 请求路由到容器化应用。应用是(无根、加固的)容器,因此可以以最小修改运行现有软件,并且处于合理安全的沙箱中。

但超越简单的容器托管(如 Coolify),Cloud in a Bottle 提供了各种可选的平台功能,应用可以利用这些功能来改善体验。作者希望它感觉像你的“云智能手机”——一个你拥有、发现和安装优秀应用轻而易举、用户体验与我们要取代的闭源产品一样好的东西。

平台特性与用户体验

一个基本示例:如果你登录到你的实例,你会自动登录到所有应用——无需在每个应用中单独创建账户。还有一个接口允许在实例内的不同应用之间授予对数据和功能的权限访问。更广泛地说,类比 Android 或 iOS 提供的各种 API(传感器访问、通知、健康数据共享等),团队投入了大量时间思考这些 API 在个人云环境中的合适对应物。

开源与商业化

Cloud in a Bottle 是开源的,可自托管,零遥测,并力求尽可能简单和“无魔法”。作者所在的公司 Imbue 也提供托管版本,作者认为这对让该项目广泛普及非常重要——同时这也为支持项目提供了直接的商业模式。但开源/自托管路径运行完全相同的代码,并且始终是一等公民。

未来展望与邀请

项目在私下构建和测试超过6个月后现已启动,核心平台基本完成且稳定。作者已将数字生活逐渐迁移到自己的 Bottle 实例中,感觉良好。

然而存在一个鸡和蛋的问题:没有广泛可用的自托管开源 Web 软件的方式,这类软件的受众就很小,可用软件也有限。项目的一个大目标是催化更多优秀开源 Web 软件的创建——那些可以推荐给朋友和父母、而不仅仅是给其他软件极客的东西。

精选应用目录是朝着这个方向的一步——团队力求保持高标准,只添加那些真正提供良好用户体验的应用,因此目前目录还很小。但每周都在增加新应用,并希望在社区的帮助下更快增长。对于早期用户,可能需要一些技术熟悉度(或编码代理)来找到/创建/调整你想要在实例上运行的东西(实际上非常容易!)。随着时间推移,目录变深、体验进一步打磨,希望能越来越普及。

欢迎尝试:免费试用托管实例(赠送10美元额度)、在云 VPS 上自托管、在自己的硬件上安装(虚拟机或裸机)、查看 GitHub 代码、在 Matrix 上聊天。

原标题:Cloud in a Bottle: making self-hosting accessible to everyone。 HN 原始发布时间:2026年9月6日星期日。当前记录为 606 分、302 条评论。

阅读原文 · 查看 HN 讨论