本文提供了如何自建Capgo的逐步指南,以及自建的利弊和挑战的讨论。
介绍
自建是指自己设置服务器和网络来运行自己的网站或应用程序。相比使用平台即服务或公共云服务提供商,自建者将负责维护和保证网站或应用程序的可用性,除了构建网站或应用程序本身。
开始使用Capgo的最简单方法是使用我们的 official cloud-based service, 但如果您愿意自行管理,Capgo 也可以在您的服务器上进行自主托管。
什么是自主托管?
自主托管是指在数字领域中,自己运营服务器或托管基础设施来管理和控制在线存在和服务。相比于依赖第三方托管提供商,个人和组织选择在自己的条件下设置和管理服务器、网站、应用程序和数据存储。
为什么选择自主托管?
选择自主托管的原因有很多。一些最常见的好处包括:
-
隐私和控制权: 自主托管让您完全控制自己的数据和隐私。您不必担心第三方提供商监控您的活动或出售您的数据。
-
成本节约: 自主托管在长期来看可能更具成本效益,尤其是当您使用大量资源或运行多个服务时。
-
定制化: 自主托管让您有灵活性来定制您的应用程序和服务以满足您的具体需求。
-
学习和实验: 自主托管可以成为学习Linux、系统管理和其他技术主题的好方法。它也可以成为尝试新软件和服务的有趣方式。
-
独立性: 自主托管可以减少对外部提供商的依赖。您不受他们服务条款、价格变化或潜在服务中断的影响。这对于依赖在线存在于关键功能的企业和个人来说是至关重要的。
Capgo Cloud 和 Capgo 自主托管之间的区别是什么?
Capgo 只有一种版本。我的Cloud和Self-Hosted产品完全相同。没有优质和专有的商业版本,具有更好的或更完整的功能集。
您在Cloud和Self-Hosted中获得相同的仪表板、相同的可操作指标和相同的承诺, 尊严地保护您的访客隐私 两者都有。
我从2018年12月开始开发Capgo,并于2019年5月推出SaaS订阅业务。该项目非常活跃,正在快速发展。它也很强大和经过严格测试。
Capgo Cloud 和 Capgo 自主托管之间的主要区别是:
| Cloud | 自建主机 | |
|---|---|---|
| 托管 | 轻松方便。只需2分钟即可开始发送第一个更新,高可用性、备份、安全性和维护均由我负责。您不必担心任何事情,我会为您处理所有事务。 | 您自己处理所有事务。您需要获取服务器,并且需要管理您的基础设施。您负责安装、维护、升级、服务器容量、运行时间、备份、安全性、稳定性、一致性、加载时间等。 |
| 存储 | 所有访客数据仅在欧盟所有的云基础设施上处理。您的网站数据存储在德国的安全、加密的服务器上。这确保了您的网站数据受到欧洲联盟严格的数据隐私法规的保护,并且确保了GDPR的遵守。您的网站数据永远不会离开欧盟。 | 您有完全的控制权,可以将Capgo托管在您希望的任何服务器上,托管在您的地下室中或托管在任何云提供商处,甚至不符合GDPR的云提供商处。 |
| 原始数据 | 您可以在我的现代、简洁、快速加载的仪表板上看到所有网站统计和指标。您只能在仪表板上看到聚合的统计数据。 | 您是分析师,想要访问原始数据吗?托管Capgo自己给您这个选项。您可以直接从数据库中获取数据,并将其导入您选择的数据分析工具中。 |
| 成本 | 提供更新服务有成本,因此我会收取订阅费 | 您只需要为您的服务器支付费用以及与运行服务器相关的任何费用。您不需要为我支付任何费用,只需要为您的云提供商支付费用。 |
| 高级支持 | 由实际的人员提供的真正支持,他们构建和维护Capgo。 | 高级支持不包括。自主托管的发布仅由社区支持。 |
| 发布 | 持续开发和改进,多次每周发布新功能和更新。 | 这是一个长期发布,两年发布一次,所以最新的功能不会立即可用,因为它们首先在云中经过了测试。 |
如何自主托管Capgo
我们主要使用 Supabase 在Capgo 中,自主托管只需遵循 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 密钥复制到 localSupaAnon 教程 将 anon 密钥复制到 localSupaAnon
使用自托管的 capgo 的 capacitor 更新器
要求
克隆 capgo
要使用自托管的 capgo 的 capacitor 更新器,请编辑您的应用程序目录中的文件并将其设置为以下内容: capacitor.config.ts 这将使您能够在开发中使用本地 __CAPGO_KEEP_0__。然而,出于安全原因,默认情况下,这还不足够。
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"
},
},
};
This will enable you to use local capgo in development. However, by default, this is not enough.
结论
使用自托管的 __CAPGO_KEEP_1__ 的 __CAPGO_KEEP_0__ 更新器
In conclusion, self-hosting Capgo can be a good option for organizations that have the resources and expertise to do so. It offers a number of benefits, including control over the update process, security, and compliance. However, it is important to carefully weigh the benefits and challenges before deciding whether to self-host.
If you are considering self-hosting Capgo, I recommend that you start by reading the Capgo 自主托管文档This will give you a good understanding of the requirements and risks of self-hosting.
继续阅读 Self hosted Capgo
If you are using Self hosted Capgo 来规划 CI/CD 自动化,连接它与 Capgo CI/CD 为产品工作流程在 Capgo CI/CD 中 Capgo 原生构建 为产品工作流程在 Capgo 原生构建中 Capgo 集成 在 Capgo 集成中 CI/CD 集成 CI/CD 集成的实现细节 GitHub 动作集成 GitHub 动作集成的实现细节