跳至内容

Odoo Online、Odoo.sh 还是本地部署:Odoo 19 托管方式如何选择

三种托管方式在定制、控制权、升级义务、备份和成本因素上的差异,并附决策检查清单
2026年10月19日 由
Odoo Online、Odoo.sh 还是本地部署:Odoo 19 托管方式如何选择

Odoo 19 的 Odoo Online、Odoo.sh 与本地部署托管方式对比

在配置任何一个应用之前,您首先要决定 Odoo 19 Enterprise 数据库部署在哪里。托管方式决定了您能定制哪些内容、由谁控制服务器、多久必须升级一次,以及由谁负责备份。

Odoo 提供三种托管途径:Odoo Online、Odoo.sh 和本地部署(自托管)。三者运行的标准 Enterprise 应用完全相同,但一旦涉及自定义代码、服务器访问或特定的升级节奏,差异就会非常明显。

关于资料来源:本指南依据 Odoo 19.0 版官方文档编写。托管规则和政策可能会变化,因此在做出决定之前,请在测试数据库中并对照您自己的订阅条款,确认对项目重要的每一项内容。

一分钟了解三种方式

  • Odoo Online:Odoo 的软件即服务(SaaS)。服务器和平台由 Odoo 运营,您在标准应用和 Studio 中开展工作。
  • Odoo.sh:Odoo 官方云平台,用于托管和管理带有您自有代码的 Odoo,连接 GitHub 代码仓库,并按开发、预发布和生产分支进行组织。
  • 本地部署:您在自己的服务器或租用的云服务器上安装并运行 Odoo,并使用 Enterprise 订阅码注册数据库。

对比三种 Odoo 托管方式在定制、访问权限、升级、备份及适用场景方面差异的表格

定制:多数项目的决定性因素

Odoo 文档明确指出,Odoo Online 不兼容自定义模块,也不兼容 Odoo 应用商店中的模块。在 Online 上,您可以配置标准应用并使用 Studio 进行定制,但不能安装您自己的 Python 模块。

Odoo.sh 专为自定义代码而设计。您将模块推送到 GitHub 仓库的某个分支,平台会自动识别包含 Odoo 模块的文件夹。公开的社区模块也可以添加进来,例如以 Git 子模块的形式。

本地部署在自定义模块方面与 Odoo.sh 同样自由,因为服务器及其加载的插件都由您控制。区别在于,代码之外的一切都不会有人替您管理。

一条实用规则:如果您的需求包含任何自定义 Python 开发或应用商店中的任何第三方应用,就可以排除 Odoo Online,真正需要在 Odoo.sh 与本地部署之间做选择。

控制权与访问

在 Odoo Online 上,您通过 Odoo 的数据库管理器管理数据库。在那里,您可以复制数据库用于测试、重命名、下载备份、在有可用版本时启动升级、管理域名以及转移所有权。不提供服务器或 shell 访问。

在 Odoo.sh 上,每个分支都在浏览器中配备开发工具:可执行基本 Linux 命令和 psql 的 Web shell、带有 Python 与 Odoo shell 控制台的在线编辑器、使用您自己密钥的 SSH 访问,以及拦截非生产构建所发邮件的邮件捕获器。

本地部署让您完全掌控操作系统、PostgreSQL、反向代理和 Odoo 配置文件。Odoo 的部署指南将安全视为一个持续的过程,并列出了多项任务,例如在反向代理之后通过 HTTPS 提供 Odoo 服务、在多数据库服务器上设置数据库过滤器、使用非超级用户的 PostgreSQL 用户,以及在面向互联网的系统上禁用数据库管理器。

升级义务

每种托管方式都有不同的升级规则。这一点在选型时常被忽视,之后却会变得紧迫,因此请从第一天起就把它摆上桌面。

  • Odoo Online:根据 Odoo 的升级文档,处于主版本的数据库必须每两年升级一次,处于次版本的数据库必须在下一个版本发布后几周内升级。如果在截止日期前未采取行动,Odoo 会自动升级数据库。
  • Odoo.sh:在某个版本最初三年的支持期结束后,您还有两年时间完成升级,需要升级时您会收到通知。
  • 本地部署:您可以无限期停留在同一版本。Odoo 并不建议这样做,版本差距越小,升级越容易。

自定义模块会影响除 Online 以外的所有方式。Odoo 指出,在自定义模块适配目标版本之前,包含这些模块的数据库无法升级,而使其兼容是模块维护者的责任。

对于 Odoo Enterprise,升级服务涵盖标准应用、在 Studio 仍处于安装状态且订阅有效期间所做的 Studio 定制,以及由定制维护订阅覆盖的开发内容。没有此类合同的内部或第三方模块、现有数据的清理以及培训不在覆盖范围内。

在所有平台上,推荐的流程都是相同的:申请一个升级后的测试数据库,更新所有自定义模块,进行充分测试,向 Odoo 报告问题,然后规划生产环境升级,升级期间数据库将不可用。

备份与测试副本

Odoo Online:文档说明,根据 Odoo Cloud Hosting SLA,备份每天进行。您也可以从数据库管理器下载备份 ZIP 文件;如果数据库过大无法下载,Odoo 支持团队会提供其他方式。

Odoo.sh:生产数据库每天自动备份,每份备份包括数据库转储、文件存储、日志和会话。文档列出保留七份每日备份、四份每周备份和三份每月备份,另有专用备份服务器保存额外的每月副本。您也可以对生产和预发布构建进行手动备份。

Odoo.sh 上的预发布和开发构建不会自动备份。预发布数据库是经过中和处理的生产副本,一段时间后会被删除;开发数据库生命周期很短,并基于演示数据构建,因此切勿仅在其中保存真实工作成果。

本地部署:备份完全由您负责。请同时为 PostgreSQL 数据库和文件存储安排备份,将副本保存在服务器之外,并定期测试恢复。

无论选择哪种方式,升级测试数据库和 Odoo.sh 预发布数据库都会经过中和处理:计划的动作被禁用,外发邮件被拦截或替换,支付和物流连接器被切换到测试模式。这可以保护生产环境,但如果要测试集成,必须有意识地重新启用它们。

无需价目表即可比较的成本因素

价格取决于您的合同并会随时间变化,因此应比较驱动成本的因素,而不是表面数字。

  • 订阅范围:Odoo.sh 需要包含 Odoo.sh 托管的 Enterprise 订阅码,而本地部署使用在您自己服务器上注册的 Enterprise 订阅,每个订阅关联一个数据库。
  • 用户:本地部署的数据库必须保持在订阅的用户数之内;超出时会触发警告,并给予有限的时间纠正用户数,否则数据库将过期。
  • 基础设施:在 Odoo.sh 上,您在平台内调整 worker、存储和预发布构建的规模;本地部署则需自行承担服务器、存储、带宽和监控费用,且服务器必须保持对 Odoo 验证服务的网络访问。
  • 人员:本地部署需要能够管理 Linux、PostgreSQL、HTTPS 和安全更新的人员;Odoo.sh 需要熟悉 Git 的开发人员;Odoo Online 两者都不需要。
  • 定制生命周期:每个自定义模块都必须在每次升级时维护和移植,除非由维护订阅覆盖,否则这在 Odoo.sh 和本地部署上都是一项经常性成本。

各方式适合谁

Odoo Online 适合能够使用标准 Odoo 加 Studio 开展业务、希望最快上线并能接受 Odoo 升级时间表的企业。流程标准的贸易、服务和零售企业是典型的候选者。

Odoo.sh 适合需要自定义模块或第三方应用、但不想自己运维服务器的项目,以及重视在每项变更上线前先在生产预发布副本上测试的项目。

本地部署适合拥有内部 IT 团队、对数据存放位置或网络有严格要求、需要与本地硬件集成,或需要自行精确决定升级时间的组织。

如果您正在考虑 Odoo Community,请注意 Odoo.sh 需要 Enterprise 订阅码,而上述免费升级服务是 Enterprise 的权益,因此 Community 通常采用自托管,并由您自行完成升级。

Enterprise 并不是一套独立的代码库:Odoo 的安装文档将 Enterprise 仓库描述为在 Community 之上的一组额外插件,因此自托管的 Enterprise 安装需要两者兼备。日后从 Community 迁移到 Enterprise 本身就是一个独立项目,因为 Odoo 的升级文档并不将切换版本类型视为升级的一部分。

日后在托管方式之间迁移

这一选择并非一成不变,但不同方向的迁移难易程度不同。

  • 从 Odoo Online 迁移到 Odoo.sh 或本地部署:从数据库管理器下载备份,然后导入或恢复。Online 的中间版本在其他环境中不受支持,因此您可能需要先升级到下一个主版本。
  • 从 Odoo.sh 或本地部署迁移到 Odoo Online:必须先在预发布构建或复制的数据库中卸载所有非标准应用,迁移本身需通过 Odoo 支持工单申请。
  • 从本地部署迁移到 Odoo.sh:使用生产分支“备份”选项卡中的导入功能。导入需要相当于转储文件大小四倍的可用存储空间,会覆盖该分支的现有数据,并禁用外发邮件服务器和计划的动作,直到您重新启用所需的项目。

决策检查清单

  • 我们现在或可预见的将来是否需要任何自定义 Python 模块或应用商店模块?如果是,请排除 Odoo Online。
  • 我们能否接受 Odoo Online 的强制升级时间表,还是需要对每次版本变更的时间有更多控制?
  • 我们是否需要一个生产环境的预发布副本,以便在上线前测试每项变更?
  • 我们是否拥有或能够招聘到为本地服务器负责 Linux、PostgreSQL、HTTPS、监控和安全的人员?
  • 是否存在需要使用自有服务器的数据存放位置、网络或硬件方面的限制?
  • 由谁负责备份验证和恢复测试,多久进行一次?
  • 由谁在每次升级时维护和移植我们的自定义模块,这是否在维护订阅的覆盖范围内?

1CBMS 如何为您提供帮助

1CBMS 帮助埃及和伊拉克的企业在实施开始前选择合适的 Odoo 托管方式。我们将您的需求与各平台的能力逐项对照,及早识别对自定义模块的需求,按照稳妥的备份与安全实践搭建 Odoo.sh 项目或本地服务器,并规划升级,确保您的 Odoo 19 Enterprise 系统始终获得支持。欢迎通过 www.1cbms.com 联系我们,评估您的具体情况。

如何将 Odoo 从旧版本升级到新版本:分步指南
适用于 Odoo Online、Odoo.sh 和本地部署数据库的官方升级流程,涵盖自定义模块、测试清单和上线规划