The Odoo.sh workflow, on independent hosting

If you have used Odoo.sh, you already know how Odoo Cloud works: branches pushed from GitHub, staging on a neutralized copy of production, a shell and daily backups. What changes is who runs it, and that Community projects are welcome too.

  • Same branch-per-environment workflow
  • Community and Enterprise
  • Import your Odoo.sh backup

Same workflow. Independent infrastructure.

A factual comparison, based on Odoo's public documentation at the time of writing.

CapabilityOdoo.shOdoo Cloud
Every branch is an environment, pushed from GitHubYesYes
Development, staging and production stagesYesYes
Staging on a neutralized copy of productionYesYes
Web shell, SSH, online editor, logsYesYes
Daily backups, custom domains with HTTPS, mail catcherYesYes
Odoo EnterpriseYesYes
Odoo CommunityEnterprise onlyYes
Operated byOdoo S.A.Odoo Cloud

Odoo.sh column based on Odoo's public documentation at the time of writing. Odoo and Odoo.sh are trademarks of Odoo S.A. Odoo Cloud is an independent service, not affiliated with or endorsed by Odoo S.A.

Your habits carry over

The stages, the tools and the commands your team uses every day work the same way.

  • Three stages

    Development builds with demo data and tests, staging on a copy of production, and production that keeps its database.

  • The same shell

    odoo-update, odoosh-restart, the repository at ~/src/user, and SSH into a build with your GitHub keys.

  • Online editor

    Edit, commit and push from the browser, with Odoo's sources read-only alongside your code.

  • Logs per phase

    Build, install, update, pip and server logs for every build, streamed live.

  • Mail catcher

    Emails from development and staging are caught and shown in the Mails tab, never sent.

  • Upgrades on staging first

    Test a major version upgrade on a copy of production before production is touched.

A few things we do differently

Choices made for teams who want more control over their hosting.

  • Community projects welcome

    Host Odoo Community or Enterprise on any version from 14 to 20, at the same hosting price.

  • Restore-tested backups

    Every week the newest production backup is restored into a temporary database and checked.

  • Encrypted offsite copies

    Backups are encrypted on the server before they are copied to a second location.

  • Idle environments sleep

    Development and staging builds nobody visits sleep and wake on the next visit. Production never sleeps.

Moving from Odoo.sh in four steps

Your code stays in GitHub, and an Odoo backup restores on any Odoo of the same version.

  1. Create the project

    Link the same GitHub repository, on the same Odoo version, with Enterprise ticked if you use it.

  2. Download a backup

    From your production branch's Backups tab on Odoo.sh, with the filestore.

  3. Rehearse, then import

    Import it into a staging branch to test, then into production. Large uploads resume if interrupted.

  4. Switch the domain

    Point your DNS record at the project, and register your Enterprise code inside Odoo.

Questions from Odoo.sh users

How does Odoo Cloud compare to Odoo.sh?

Odoo Cloud follows the Odoo.sh workflow: branches pushed from GitHub become environments, releases move from development to staging (a neutralized copy of production) to production, and you get a web shell, SSH, an online editor and daily backups. The differences are that Odoo Cloud is operated independently of Odoo S.A. and also hosts Odoo Community projects, while Odoo.sh runs Enterprise only. Odoo Cloud is not affiliated with or endorsed by Odoo S.A.

Can I move from Odoo.sh or another host?

Yes. Connect the same GitHub repository, then import your database into a staging or production branch: a backup zip from Odoo.sh or Odoo's database manager, or a PostgreSQL dump. Large uploads are sent in resumable chunks, and the database has to be on the same Odoo version as the project.

Is the Odoo Enterprise licence included?

No. Odoo Community is free and needs no licence; for Enterprise, you subscribe with Odoo S.A. and enter your subscription code inside Odoo once production is live. The Enterprise apps themselves are provided by Odoo Cloud, and you never share your subscription code with us.

Will my Odoo.sh commands and paths work?

The shell has the commands Odoo.sh users rely on, such as odoo-update and odoosh-restart, and your repository is at ~/src/user. Scripts that hard-code other Odoo.sh paths are worth checking before you move.

Does my repository need a special layout?

No. Put your modules at the root of the repository or in folders; submodules are supported, including private ones with a deploy key. Python requirements in requirements.txt are installed on each build.

Guides for the move

Everything you need to plan the switch.

  • How to migrate from Odoo.sh to Odoo Cloud

    · 8 min read · Odoo.sh, Migration, Enterprise

    A step-by-step move from Odoo.sh: download a backup, connect the same GitHub repository, rehearse the import on staging, import production, move your custom domain and register the Enterprise code.

  • Odoo.sh alternatives: hosting Odoo with the same GitHub workflow

    · 7 min read · Odoo.sh, Odoo hosting, Comparison

    The realistic ways to host Odoo when you want branches, staging copies of production and push-to-deploy, how they compare with Odoo.sh, and the questions to ask before you choose.

  • Odoo Community vs Enterprise hosting: what changes

    · 6 min read · Enterprise, Community, Odoo hosting

    What changes for hosting when you run Odoo Enterprise instead of Community: where the licence comes from, how the code is registered inside Odoo, what staging copies do with it, upgrades, and switching editions.

Bring your repository, keep your workflow

Tell us your Odoo version, the size of your database and your number of users, and we'll help you plan the move.

Plan a move · See pricing