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.
| Capability | Odoo.sh | Odoo Cloud |
|---|---|---|
| Every branch is an environment, pushed from GitHub | Yes | Yes |
| Development, staging and production stages | Yes | Yes |
| Staging on a neutralized copy of production | Yes | Yes |
| Web shell, SSH, online editor, logs | Yes | Yes |
| Daily backups, custom domains with HTTPS, mail catcher | Yes | Yes |
| Odoo Enterprise | Yes | Yes |
| Odoo Community | Enterprise only | Yes |
| Operated by | Odoo 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.
Create the project
Link the same GitHub repository, on the same Odoo version, with Enterprise ticked if you use it.
Download a backup
From your production branch's Backups tab on Odoo.sh, with the filestore.
Rehearse, then import
Import it into a staging branch to test, then into production. Large uploads resume if interrupted.
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.