Odoo 19 can run in three places: Odoo Online (Odoo's shared SaaS), Odoo.sh (Odoo's managed platform for Enterprise with your own git code) and on-premise, meaning any server you control. The deciding question is custom modules. Odoo Online does not accept custom or App Store modules, so if you need code, the choice is between Odoo.sh, where Odoo runs the servers, and self-hosting, where you run everything, including upgrades.
This is part 3 of our Odoo 19 guide. Part 2 covers the technical install if you self-host.
The three Odoo 19 hosting options side by side
| Odoo Online | Odoo.sh | On-premise / self-hosted | |
|---|---|---|---|
| Who runs the servers | Odoo | Odoo | You, or your hosting partner |
| Edition | Enterprise | Enterprise | Community or Enterprise |
| Custom modules | No (Studio only) | Yes, from your GitHub repository | Yes, anything |
| App Store modules | No | Yes | Yes |
| Versions | Major and intermediate SaaS versions (19.1, 19.2…) | Major versions only | Major versions only |
| Upgrades | Mandatory on Odoo's schedule | Required after support ends, with notice | Your decision entirely |
| Backups | Handled by Odoo | Automatic: 7 daily, 4 weekly, 3 monthly | Your responsibility |
| Server access | None | Shell and logs per build | Full |
Odoo Online: standard Odoo, no code
Odoo Online gives you a private database on Odoo's servers, reached from a browser, with nothing to install. You configure it through Settings and can customise screens and fields with Studio. What you cannot do is install custom modules or modules from the Odoo Apps Store. Odoo's documentation is explicit about this.
Online databases also run Odoo's intermediate SaaS releases. Since Odoo 19.0 in September 2025, Odoo has shipped 19.1, 19.2, 19.3 and 19.4 for Online only. You get new features sooner, but you also take upgrades on Odoo's timetable: a database on a major version must upgrade every two years, and one on an intermediate version must upgrade a few weeks after the next one is released. You are notified ahead of time and can test first, but you cannot decline indefinitely.
Odoo Online suits businesses whose processes fit standard Odoo plus Studio: trading companies, service firms, small manufacturers and most retail setups we see. It is the lowest-effort option by some distance.
Odoo.sh: Enterprise with your own code, managed by Odoo
Odoo.sh is Odoo's hosting platform for Enterprise customers who need custom modules. Your project is linked to a GitHub repository, and every branch becomes a build. Branches sit in one of three stages:
- Production: one per project. Pushing a commit updates and restarts the live server; if the update fails, Odoo.sh rolls the code and database back automatically.
- Staging: a neutralised copy of production for testing. Scheduled actions are disabled, outgoing emails are caught by a mail catcher, and payment providers and shipping connectors are switched to test mode.
- Development: fresh databases with demo data, where automated tests run.
Production is backed up automatically, keeping seven daily, four weekly and three monthly backups, each with the database, filestore, logs and sessions. Upgrades are integrated: you request an upgraded copy on a staging branch, fix your modules against it, then upgrade production when ready. After a version's three years of standard support, Odoo.sh gives you another two years to complete the upgrade.
Odoo.sh suits businesses with a meaningful custom codebase who do not want to run servers: a few integrations, some bespoke workflows, an in-house or partner development team that works in git. The trade-off is the subscription cost on top of the Enterprise licence, and less freedom over the server than your own machine gives you.
On-premise and self-hosted Odoo
On-premise, in Odoo's terms, means any server you run: a machine in your office, a VPS, or your own AWS or Azure account. It is the only option for Community edition, and it is also available for Enterprise.
You get complete control. You choose the region and data centre, which matters for some Indian businesses with data residency requirements or contracts that name a location. You can install any module, connect to anything on your network and tune PostgreSQL as you like. And you can stay on a version indefinitely; Odoo does not force upgrades on self-hosted databases, though it recommends against staying behind.
The cost of that control is responsibility. Security patches, backups that are actually tested, monitoring, HTTPS certificates, PostgreSQL upgrades, disk space and the Odoo upgrade itself are all yours. For Enterprise, upgrades still go through Odoo's upgrade service; for Community, there is no official upgrade service, and you rely on the open-source OpenUpgrade project or a partner.
Self-hosting is cheap to start and expensive to neglect. The cost is not the server. It is someone watching it.
Which Odoo hosting option suits your business
- List what you need that standard Odoo does not do. Be honest about integrations: a courier API, a bank feed, a machine on the shop floor, an e-commerce marketplace.
- If Studio and Settings cover it, choose Odoo Online. Accept its upgrade rhythm as part of the deal.
- If you need code and have no one to run servers, choose Odoo.sh. Keep the code in git from day one.
- If you need Community, a specific region, deep network integration or full control, self-host. Budget for the operations work, not just the server.
- Write the decision down with its reasons. Moving later is possible but not free.
Moving between options is supported with limits. Odoo can bring an on-premise or Odoo.sh database into Odoo Online only after every non-standard module has been uninstalled. Going the other way, from Online to Odoo.sh or your own server, is a backup download and restore, provided you are on a major version. Changing hosting is not part of an upgrade; plan it as its own step.
Once you know where Odoo will live, the next job is the same everywhere: set up the company, users and access rights properly. That is part 4. If you would like help weighing the options against your customisation list, talk to us.
Questions we get asked
Can I install custom modules on Odoo Online?
No. Odoo Online does not support custom modules or modules from the Odoo Apps Store. You can customise it with Settings and the Studio app, which adds fields, changes views and builds simple automations without code. If you need custom Python modules or third-party apps, you need Odoo.sh or an on-premise server running Odoo Enterprise or Community.
What is the difference between Odoo.sh and Odoo Online?
Both are hosted by Odoo and run Enterprise, but Odoo.sh lets you deploy your own code from a GitHub repository, with separate production, staging and development branches, automatic backups and shell access. Odoo Online runs only standard Odoo plus Studio and receives intermediate SaaS versions. Odoo.sh is for businesses with custom modules; Odoo Online is for those without.
Can Odoo Community be hosted on Odoo.sh?
No. Odoo Online and Odoo.sh both run Odoo Enterprise. Odoo Community is only available self-hosted, on your own hardware, a VPS or a cloud account such as AWS or Azure. That gives you full control and no licence fee, but you handle security, backups and upgrades yourself, and there is no official Odoo upgrade service for Community.
Do I have to upgrade Odoo if I self-host?
No. Odoo does not force upgrades on on-premise databases; you can keep a version running indefinitely. Odoo recommends against it, because after three years of standard support a version stops getting free bug fixes and security updates. Smaller version gaps are also easier to upgrade, so staying put usually makes the eventual upgrade harder and more expensive.