跳转至正文
解决方案

自托管 Capgo

自托管 Capgo 可以让你直接向用户部署 Capacitor live updates,而无需使用 Capgo 云服务。

自托管 Capgo

本文将逐步指导你如何自托管 Capgo,并深入探讨自托管带来的优势与挑战。

简介

自托管是指通过自行搭建服务器和网络来运行网站或应用程序。与使用 PaaS 或公有云服务商不同,选择自托管的用户除了构建应用本身,还需要负责维护网络、确保系统可用性及日常运维。

开始使用 Capgo 最简单的方式是使用我们的 官方云端托管服务,但如果你愿意自行管理,也可以在自己的服务器上自托管 Capgo。

什么是自托管?

在数字领域,自托管是指通过运行自己的服务器或托管基础设施,来管理和控制在线业务及服务的实践。个人和组织不再依赖第三方托管供应商,而是选择按照自己的需求来搭建和管理服务器、网站、应用程序及数据存储。

为什么要选择自托管?

人们选择自托管有很多原因。其中一些最常见的优势包括:

  • 隐私与控制权: 自托管让你能够完全掌控数据和隐私。你无需担心第三方供应商追踪你的活动或出售你的数据。

  • 节省成本: 从长远来看,自托管可能更具成本效益,尤其是当你需要大量资源或运行多个服务时。

  • 高度定制化: 自托管赋予你极高的灵活性,可以根据特定需求定制你的应用程序和服务。

  • 学习与实验: 自托管是学习 Linux、系统管理和其他技术主题的绝佳方式,也是尝试新软件和服务的有趣途径。

  • 独立性: 自托管能减少你对外部供应商的依赖。你不再受制于他们的服务条款、价格变动或潜在的服务中断。对于依赖线上业务承载关键功能的企业和个人来说,这种独立性至关重要。

Capgo Cloud 和 Capgo Self-Hosted 有什么区别?

Capgo 只有一个版本。我的 Cloud 和 Self-Hosted 产品完全对等。不存在功能更强或更完整的所谓“高级版”或“专属商业版”。

你会获得相同的 dashboard、相同的可操作指标,并同样致力于 尊重访问者的隐私, 两者皆如此。

我从 2018 年 12 月开始开发 Capgo,并在 2019 年 5 月推出了 SaaS 订阅业务。这个项目非常活跃,仍在积极开发并快速增长,而且稳健、久经考验。

Capgo Cloud 和 Capgo Self-Hosted 的区别如下:

  云端 自托管
托管 简单便捷。只需 2 分钟即可开始发送首次更新。高可用性、备份、安全和维护均由我为您处理。我负责管理一切,让您无后顾之忧。 完全由您自主掌控。您需要准备服务器并管理基础设施。您需要负责安装、维护、升级、服务器容量、在线率、备份、安全、稳定性、一致性以及加载时间等所有环节。
存储空间 所有访客数据均仅在欧盟拥有的云基础设施上进行处理。我将您的站点数据存储在德国的安全加密服务器中。这确保了您的站点数据受到欧盟严格数据隐私法的保护,并符合 GDPR 标准。您的网站数据绝不会离开欧盟。 您拥有完全的控制权,可以在任何国家、任何服务器上托管您的 Capgo。无论是托管在自家的地下室服务器,还是托管在任何您喜欢的云服务商处(甚至是那些不符合 GDPR 标准的服务商)都可以。
原始数据 您可以在我那界面现代、易于使用且加载迅速的 dashboard 上查看所有站点统计数据和指标。您只能查看 dashboard 中聚合后的统计数据。 如果您是分析师并希望获取原始数据,自托管 Capgo 可以为您提供该选项。您可以直接从数据库提取数据,并将其导入您选择的数据分析工具中。
费用 提供更新服务需要一定的成本,因此我会收取订阅费用。 你只需支付服务器费用及运行服务器相关的任何成本。你无需向我支付任何费用,只需向你的云服务商付费。
高级支持 由构建并维护 Capgo 的真人团队提供真实的技术支持。 此版本不包含高级支持。自托管版本仅提供社区支持。
版本发布 每周多次发布新功能和更新,持续开发与改进。 这是每年发布两次的长期版本 (LTS),因此最新功能不会立即提供,因为它们会先在云端经过实战检验。

如何自托管 Capgo

我们在 Capgo 中主要使用 Supabase,自托管只需按照 Supabase 自托管文档.

配合自托管 capgo 使用 CLI

要配合自托管的 capgo 使用 CLI,请编辑应用目录下的 capacitor.config.ts,并按以下方式设置:

const config: CapacitorConfig = {
  appId: 'com.demo.app',
  appName: 'demoApp',
  webDir: 'dist',
  bundledWebRuntime: false,
  plugins: {
    CapacitorUpdater : {
      localHost: "http://localhost:5173",
      localWebHost: "http://localhost:5173",
      localSupa: "http://localhost:54321",
      localSupaAnon: "see_notes",
    },
  },
};

注意:要获取 localSupaAnon,请参考此 教程 并将 anon key 复制到 localSupaAnon 中

配合自托管 capgo 使用 capacitor 更新器

要求

已克隆 capgo

要在自托管的 capgo 中使用 capacitor 更新器,请编辑 capacitor.config.ts 在应用目录中按如下方式设置:

const config: CapacitorConfig = {
  appId: 'com.demo.app',
  appName: 'demoApp',
  webDir: 'dist',
  bundledWebRuntime: false,
  plugins: {
    CapacitorUpdater : {
      statsUrl: "https://localhost:54321/functions/v1/stats",
      channelUrl: "https://localhost:54321/functions/v1/channel_self",
      updateUrl: "https://localhost:54321/functions/v1/updates"
    },
  },
};

这样你就能在开发中使用本地 capgo。不过默认情况下,这还不够。

你必须为两个操作系统都配置 HTTPS 才能进行测试

总结

总之,对于拥有相应资源和专业知识的企业来说,自托管 Capgo 是一个不错的选择。它带来了诸多优势,包括对更新流程的掌控、更高的安全性以及合规性。但在决定是否采用自托管方案之前,务必仔细权衡其利弊。

如果你正在考虑自托管 Capgo,我建议你先阅读 Capgo 自托管文档。这将帮助你深入了解自托管的相关要求与风险。

继续阅读:自托管 Capgo

如果你正在使用 自托管 Capgo 规划 CI/CD 自动化,并将其与 Capgo CI/CD 用于 Capgo CI/CD 中的产品工作流, Capgo Native Build 用于 Capgo Native Builds 中的产品工作流, Capgo 集成 用于 Capgo 集成中的产品工作流, CI/CD 集成 了解 CI/CD 集成的实现细节,以及 GitHub Actions 集成 有关 GitHub Actions 集成的实现细节。

为 Capacitor 应用提供 Live Updates

当 Web 层出现线上 Bug 时,通过 Capgo 发布修复,而不用等 App Store 审核好几天。用户会在后台收到更新,原生变更则仍走正常审核流程。

博客最新动态

Capgo 为你提供打造真正专业的移动应用所需的最有价值的洞察。