本文将逐步指导你如何自托管 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 集成的实现细节。