Odoo.sh vs self-hosting vs managed hosting: how to choose
The three realistic ways to run Odoo in production, what each one leaves to you, and a simple way to decide: by edition, workflow, who looks after the server, and where your data lives.
By Cloud Buddy · Published · 5 min read · Odoo.sh, Odoo hosting, Your own server, Comparison
Once a company decides to run Odoo on-premise rather than on Odoo Online, the next question is who runs the servers. There are three realistic answers: Odoo.sh, Odoo S.A.'s own platform; self-hosting, a server you install and look after yourself; and managed hosting, where a provider runs Odoo for you, on their infrastructure or on yours.
None of them is right for everyone. This article compares them on what actually differs day to day, and ends with a short way to decide.
Odoo and Odoo.sh are trademarks of Odoo S.A. Cloud Buddy is an independent service, not affiliated with or endorsed by Odoo S.A.
The short version
| Odoo.sh | Self-hosting | Managed (Cloud Buddy) | |
|---|---|---|---|
| Who runs the servers | Odoo S.A. | You | Cloud Buddy, on our cloud or your server |
| Editions | Enterprise | Community or Enterprise | Community or Enterprise |
| Branch-per-environment workflow | Yes | Only if you build it | Yes, on our cloud |
| Staging on a copy of production | Yes | Only if you build it | Yes, on our cloud |
| Backups | Included | Yours to set up and test | Daily, restore-tested weekly |
| Security updates and monitoring | Included | Yours | Included, with a security audit on your server |
| Where the data lives | Odoo S.A.'s infrastructure | Wherever your server is | Our cloud, or your own server |
The Odoo.sh column is based on Odoo's public documentation at the time of writing.
Odoo.sh: the reference workflow
Odoo.sh is where the branch-per-environment workflow comes from. Each branch of your GitHub repository builds into its own Odoo, staging branches run on a neutralized copy of production, and a push to production deploys. Backups, a web shell, an editor, logs and upgrades through Odoo's upgrade service are part of the platform, and the software, hosting and support all come from one vendor.
It fits best when you run Odoo Enterprise, your partner already works on Odoo.sh, and you're happy for Odoo S.A. to operate the infrastructure. It doesn't host Odoo Community, and your production runs where Odoo.sh runs.
Self-hosting: full control, full responsibility
Installing Odoo on your own server (see our guide to installing Odoo 19 on Ubuntu) gives you complete control: any edition, any version, any server, any location, and nobody else's rules. The server itself is usually the cheapest line in the budget.
What it costs instead is time and attention, every month:
- Backups that are copied off the server and restored now and then to prove they work. A backup that has never been restored is a hope, not a backup.
- Security: operating-system updates, SSH settings, a firewall that doesn't expose PostgreSQL or Odoo's own ports, and a database manager that isn't reachable from the internet.
- Monitoring: knowing Odoo is down before your users tell you, and that the disk is filling up before it's full.
- A way to test releases: without a staging copy of production, every module update is tested on the real thing.
- Upgrades to the next major version before yours runs out of support.
Self-hosting works well for a team with a system administrator who has time for all of that. It tends to go wrong quietly, when that person is busy or leaves.
Managed hosting: the workflow without the busywork
Managed hosting sits in between: you keep the flexibility of choosing edition and version, and the provider does the operations. Cloud Buddy does it in two ways, and you can mix them:
- On our cloud. The Odoo.sh workflow on infrastructure we operate: every GitHub branch is an environment, staging runs on a neutralized copy of production, and releases move up with a drag and drop. Odoo Community and Enterprise, versions 14 to 20, with daily restore-tested backups, encrypted offsite copies, monitoring, a web shell, SSH and an online editor.
- On your own server. Keep Odoo on a VPS or a machine you own, at AWS, Hetzner, DigitalOcean or anywhere you can reach over SSH. Link it with one command and get monitoring and alerts, daily backups with weekly restore tests, a daily security audit with guided fixes, live logs, restarts and a recorded web terminal. We can also install a new Odoo 17 to 20 on it in a few clicks.
The second option is the one that most changes the old trade-off: your data stays on your hardware, and the chores that make self-hosting risky are done for you.
Comparing the cost fairly
The three options are priced in different ways, so compare the whole cost over a year rather than one line of it:
- Odoo.sh is priced by Odoo S.A. on top of your Odoo Enterprise subscription, by workers, storage and staging environments.
- Self-hosting costs the server, plus the hours someone spends on installation, updates, backups and the incidents that come with them. Those hours are real even when nobody invoices them.
- Managed hosting on Cloud Buddy is either capacity on our cloud (workers, storage and staging environments, with every feature included) or a flat monthly price per server you already pay for, plus a one-time price for each new Odoo installed on it.
The current prices of both Cloud Buddy options, with monthly and yearly billing, are on the pricing page.
How to decide
Ask four questions, in this order:
- Which edition? If you need Odoo Community, Odoo.sh is out; self-hosting and managed hosting both work.
- Do you want the branch workflow? If your team develops custom modules and wants every branch running with staging on production data, pick Odoo.sh or a managed platform that has it; building it yourself is a project of its own.
- Who looks after the server at 3 a.m.? If nobody on your team will, don't self-host without someone doing backups, monitoring and security for you.
- Where must the data live? If it must stay on hardware you control or in a specific country, self-hosting or managed hosting on your own server is the answer; choose a server in that location.
If you're coming from Odoo.sh, our guide to moving from Odoo.sh walks through the move step by step, and the Odoo.sh alternative page compares the two side by side.