Skip to content
Guides

Odoo.sh limitations to know before you commit

Odoo.sh is Odoo's own platform for Odoo Enterprise, with Git deploys, staging branches and managed backups. It is a good fit for many projects. These are the limits worth checking before you build your project around it.

Key takeaways

  • Odoo.sh runs Odoo Enterprise only, and needs an Enterprise subscription that includes Odoo.sh.
  • You get a shell and Git, but not root. System packages are only added case by case.
  • Scheduled actions run with time limits on shared servers, so long jobs need to be written in batches.
  • Production is backed up automatically; staging and development branches are not. You choose a region, but not the cloud or where backups are kept.

What Odoo.sh does well

It is worth being clear about the strengths first. Odoo.sh is built and run by Odoo S.A. Every Git branch can become a development, staging or production environment. Staging builds are neutralized copies of production. Backups, monitoring and upgrades of the platform are handled for you, and support comes from the same company that makes Odoo. For an Enterprise project that fits the platform's rules, that is a lot of work you do not have to do.

The limits below are not flaws. They are the trade-offs of a shared, managed platform. The question is whether any of them affects your project.

Odoo.sh limitation 1: Enterprise only

Odoo.sh does not host Odoo Community. According to Odoo's documentation, creating a project needs the code of an Enterprise subscription that includes Odoo.sh; a trial code or an Enterprise subscription without Odoo.sh is not enough. If you want to start on Community and move to Enterprise later, or run Community for some databases, you need another host for those. Our Community vs Enterprise hosting guide explains the differences.

Odoo.sh limitation 2: no root and limited system packages

Odoo.sh gives you a shell in your containers, but not root access. Odoo's documentation says system packages, such as apt packages, cannot be installed or upgraded in general. Requests can be considered case by case, and the same applies to Python modules that need system packages to compile.

Pure Python dependencies are easier: you list them in a requirements.txt at the root of your branch and the platform installs them. Check early whether any module you depend on needs a system library, a command line tool or a background service, because those are the cases that can block you.

Odoo.sh limitation 3: scheduled actions and long jobs

Odoo.sh runs many customers on shared servers, so it limits how long scheduled actions can run. Odoo's technical FAQ for Odoo.sh advises processing work in small batches, committing after each batch, writing scheduled actions so they can safely run again, and not expecting any scheduled action to run more often than every five minutes.

For most projects this is fine. It matters if you rely on large imports, long integrations or near-real-time syncs. Those need to be written with the limits in mind, or moved to an external worker.

Odoo.sh limitation 4: backups you cannot place

Odoo's documentation says Odoo.sh backs up the production database automatically, keeping seven daily, four weekly and three monthly backups. You can download them. Two details are easy to miss:

  • Staging and development branches are not backed up automatically. Anything entered only on a staging branch can be lost.
  • You cannot choose where backups are stored. Odoo's privacy policy says it is not possible to choose or restrict the backup locations, and that for some regions backups are kept in another region.

If your data protection rules require backups in a specific country, or a copy in storage you control, plan to download backups regularly and store them yourself. Our Odoo backup strategy guide covers what a complete backup needs.

Odoo.sh limitation 5: Odoo's infrastructure and regions

You pick a hosting region when you create an Odoo.sh project, from the regions Odoo offers (as of October 2026, Odoo's privacy policy lists the Americas, Europe, Asia and Pacific, the Middle East and Southern Asia, and Oceania). You do not choose the cloud provider, the exact data centre or the server type, and the servers are not in your own account.

That is fine for most businesses. It matters when a contract or regulator names a specific provider or country, when you need Odoo next to other systems in your own AWS, Azure or Google Cloud account, or when you want your cloud spend on your own bill.

Odoo.sh limitation 6: pricing that grows with usage

Odoo.sh is billed on top of the Enterprise user subscription, by workers, storage and staging branches (see Odoo.sh pricing for the current figures). As a project grows, more workers for more concurrent users, more storage for attachments and more staging branches for parallel work all add to the bill. That is reasonable, but it is worth modelling your expected size for the next two or three years before you commit, rather than only today's.

Our Odoo hosting cost guide shows how to compare the total cost of different options.

How to test Odoo.sh before you commit

A short trial on a real copy of your project answers most of these questions:

  1. List your dependencies. For every custom and third-party module, note any Python package, system library or external tool it needs.
  2. Push your modules to a staging branch and check that the build succeeds and the modules install.
  3. Run your heaviest jobs: the largest import, the longest scheduled action and the busiest integration, and watch for timeouts.
  4. Check your obligations. Compare the available regions and backup policy with your contracts and data protection rules.
  5. Model the cost for the number of users, workers and storage you expect in two or three years.

When Odoo.sh is still the right choice

  • You run Odoo Enterprise and plan to stay on it.
  • Your custom modules need only Python packages, not system software.
  • Your scheduled jobs are short, or can be written in batches.
  • You have no requirement for a specific cloud provider or backup location.
  • You want the platform run by Odoo S.A. and support from one company, and you do not want to manage servers at all.

If most of those are true, Odoo.sh is a sensible, low-effort choice.

Alternatives if an Odoo.sh limitation applies

If one of the limits does apply, the main alternative is to run Odoo on servers you control, in your own cloud account or a provider you choose, with a platform that provides the staging, Git and backup workflow. CloudPilot is one such platform: it runs Odoo Community and Enterprise, gives you root access on servers in your own account (Pro and Business plans), keeps backups in storage you choose, and is priced as a flat plan rather than by workers.

See the Odoo.sh alternative for a side-by-side comparison, and our guide to migrating from Odoo.sh to your own cloud if you are already on it.

Odoo.sh limitations: questions

Can I run Odoo Community on Odoo.sh?

No. Odoo.sh hosts Odoo Enterprise only, and creating a project needs an Enterprise subscription that includes Odoo.sh.

Can I install system packages on Odoo.sh?

Not in general. Odoo's documentation says apt packages cannot be installed or upgraded, though requests can be considered case by case. Python packages can be listed in a requirements.txt file at the root of your branch.

Are Odoo.sh staging branches backed up?

No. Odoo.sh backs up the production database automatically, but staging and development databases are not backed up automatically.

Keep reading

How to migrate from Odoo.sh to your own cloud

A step-by-step plan for moving an Odoo database from Odoo.sh to AWS, Google Cloud, Azure, Hetzner or any server: backups, custom modules, testing, DNS cutover and your Enterprise subscription.

How much does Odoo hosting cost in 2026?

Break down the real cost of hosting Odoo: licenses, servers, hosting platforms, backups and your time. Compare Odoo.sh, managed hosts and your own cloud for a typical business.

Run Odoo on your own cloud

Deploy, back up and monitor Odoo on AWS, Google Cloud, Azure, Hetzner or any server. 14-day free trial.