Odoo Hosting Options

Odoo Online vs Odoo.sh vs Your Own Server: Choosing Where Odoo Runs

Star Bit Solutions9 min read

Odoo Online vs Odoo.sh is really a question about code, control and responsibility. This guide compares both with running Odoo on your own server: modules, testing, upgrades, backups, data location and cost.

Three Odoo hosting cards, a cloud for Odoo Online, Git branches for Odoo.sh and a server rack for on-premise, around one database
Scroll

Key takeaways

  • Odoo Online runs standard apps and Studio; custom modules and App Store apps with Python code need Odoo.sh or your own server.
  • Odoo.sh adds GitHub deployment, development and staging branches, automated tests and daily production backups.
  • On-premise gives full control of code, data location and upgrade timing, and makes backups, security and patching your job.
  • Odoo Online also runs intermediary versions, which must reach a major version before a move to Odoo.sh or on-premise.
  • Compare cost structures, not prices: subscription plan, Odoo.sh resources, or your own infrastructure and admin time.

Once you have chosen Odoo Enterprise, the next decision is where it runs. Odoo Online vs Odoo.sh is often the first comparison buyers make, and running Odoo on your own server is the third option. All three run the same Odoo software. What changes is who manages the servers, whether custom code is allowed, how upgrades and backups work and where your data lives.

This guide compares the three options as they stand in mid-2025, on Odoo 18. If you are still choosing an edition, read our Odoo Enterprise vs Community guide first: Odoo Online and Odoo.sh run Enterprise only, so Community always runs on a server of your choosing.

The Three Hosting Options in Brief

  • Odoo Online is Odoo's software as a service. Odoo runs the servers, backups and upgrades, and your team works in the browser. It runs the standard Enterprise apps and Studio, and Odoo's documentation states plainly that it is incompatible with custom modules and the Odoo App Store.
  • Odoo.sh is Odoo's cloud platform for Enterprise databases that need custom or third-party modules. Code is deployed from a GitHub repository through development, staging and production branches, and your Enterprise subscription must include Odoo.sh.
  • On-premise or private cloud means your own servers or a cloud account you choose. You install and run Odoo, Enterprise or Community, with no platform limits and full responsibility for everything below the application.

Odoo Online vs Odoo.sh: The Custom Code Question

The first question is not about servers at all. It is whether your Odoo needs code that Odoo did not write.

On Odoo Online, the answer has to be no. You can configure every standard app and customize with Studio, but you cannot install custom Python modules, and Odoo's App Store FAQ rules out App Store apps unless they are data-only modules with no Python code. If a later requirement needs a module, such as an integration with a local bank or logistics platform, you will have to move hosting first.

Odoo.sh accepts custom and third-party modules from your repository and installs the Python dependencies listed in a requirements.txt file. It has limits worth knowing: you cannot install system packages or PostgreSQL extensions, long-running background processes are not supported, and Odoo lists the modules it knows to be incompatible with the platform, such as queue_job.

On your own server there are no platform limits. Anything Odoo can run, you can install, which is exactly why the quality of what you install becomes entirely your responsibility.

Testing Changes before They Reach Production

The way you test changes is where Odoo.sh earns its place.

  • Odoo.sh gives every branch its own build. Development branches start from scratch with demo data and run the automated tests. Staging branches run on a neutralized copy of production, with scheduled actions disabled, outgoing email caught by a mail catcher and payment and shipping providers in test mode. If an update to production fails, the platform reverts to the previous working revision.
  • Odoo Online lets you duplicate a database for testing, with external actions such as emails and payments disabled. Test duplicates expire after 15 days, and each database can have up to five.
  • On-premise testing is whatever you build: a second server or database, neutralized copies of production and a Git workflow for your modules. It can be as good as Odoo.sh, but someone has to set it up and keep it working.
Have a question about this guide? Ask the engineers who wrote it.

How Upgrades Work on Each Platform

Odoo releases a major version every year and, on Odoo Online only, intermediary Online versions roughly every two months. Since Odoo 18 arrived in October 2024, Odoo Online has received several of them, starting with Odoo 18.1 in January 2025, and none is released for Odoo.sh or on-premise installations.

  • Odoo Online follows a rolling release. Upgrades become mandatory on a schedule: every two years for databases on a major version, and a few weeks after the next release for databases on an Online version. You are notified in advance and can test an upgraded copy before the deadline.
  • Odoo.sh hosts major versions only. It is integrated with Odoo's upgrade platform: an upgraded copy of production lands on a staging branch, where it is restored and your custom modules are updated each time you push a commit. Once a version leaves support, projects have two more years to upgrade.
  • On-premise databases can stay on a version indefinitely, although Odoo does not recommend it. Enterprise databases use the same upgrade platform from the command line, while Community databases have no official upgrade service.

One consequence is easy to miss. If you start on Odoo Online and later move to Odoo.sh or your own server, a database running an Online version must first be upgraded to the next major version, waiting for its release if necessary, because only major versions run on the other two platforms. Odoo's hosting documentation describes each transfer.

Backups and Disaster Recovery

For Odoo Online, Odoo's Cloud Hosting SLA (service level agreement) describes 14 full backups kept for at least three months: one a day for seven days, one a week for four weeks and one a month for three months or more. Backups are replicated across machines in data centers in Europe and Canada, and you can download a backup of your database at any time.

Odoo.sh follows the same pattern for production databases, with daily backups kept as seven daily, four weekly and three monthly copies. Staging and development databases on Odoo.sh are not backed up.

On your own server, backups are your job, and a backup is only as good as your last successful restore. A sound routine covers these points:

  • Back up both the PostgreSQL database and the filestore, which holds attachments and documents.
  • Run backups automatically, at least daily, and keep several generations.
  • Keep at least one copy off the server, ideally in a different location.
  • Encrypt the backups and restrict who can read them.
  • Restore a full backup on a separate server regularly, and time how long it takes.
  • Monitor the job, so a failed backup raises an alert instead of leaving a silent gap.

Performance and Platform Limits

On Odoo Online, performance is Odoo's concern and there is nothing to tune. That suits most standard deployments, as long as usage stays within Odoo's acceptable use policy.

On Odoo.sh, you choose the resources: the number of workers, the storage and whether hosting is shared or dedicated. Staging and development builds run on a single worker, scheduled actions have a time limit per run, and read-only PostgreSQL access for reporting tools is only available on dedicated hosting.

On-premise, you size everything yourself: workers, memory, PostgreSQL settings and the network between them. That gives you the most room for heavy workloads, such as large imports or busy point-of-sale sites, and the most ways to get it wrong without an experienced administrator.

Data Location Questions for UAE Businesses

Where data lives is a frequent question from UAE finance teams, auditors and regulated sectors. Each option answers it differently.

  • Odoo Online: according to Odoo's SLA, databases are hosted in the region you choose, among Europe, the Americas, Asia-Pacific, the Middle East and Northern Asia, and Oceania. Backups are replicated in Europe and Canada, and those backup locations cannot be chosen or restricted.
  • Odoo.sh: the Odoo.sh FAQ lists hosting zones that include a Middle East zone in Dammam, Saudi Arabia, alongside the Americas, Europe, Asia and Oceania. Odoo notes that providers and data center locations within a zone are not contractual, and a project's region cannot be changed on request: moving means transferring a backup to another project.
  • On-premise: the data stays wherever you put the server, including a UAE data center or your own premises.

Before you choose, write down which rules actually apply to you: your sector's regulator, contracts with your own clients, group IT policy and any requirement on where backups may be stored. If a rule says data must stay in the UAE, on-premise or a UAE-based private cloud is the straightforward answer. This is general guidance rather than legal advice, so check with your legal adviser before you subscribe.

How the Cost Structure Differs

Prices change, so compare the structure rather than the numbers.

  1. Odoo Online: a per-user Enterprise subscription. The Standard plan covers all apps, while Studio, multi-company or the external API move you to the Custom plan. Hosting is included, with storage subject to Odoo's acceptable use policy.
  2. Odoo.sh: the Custom plan, plus Odoo.sh hosting billed separately according to workers, storage, staging environments and shared or dedicated hosting.
  3. On-premise: the Custom plan for Enterprise, or no subscription for Community, plus servers or cloud resources, administration time, monitoring, backups and security.

Whichever you choose, in-app purchase credits for services such as SMS and vendor bill scanning are billed separately, and so are implementation and the maintenance of any custom code.

A Decision Table for Odoo Hosting

Read across each row and note which column matches your requirement. One "must have" in the first two rows usually settles the choice on its own.

QuestionOdoo OnlineOdoo.shOn-premise
Custom Python modulesNot supportedFrom your GitHub repositoryNo platform limits
Odoo App Store appsData-only modules, no Python codeSupported, with a few exceptionsSupported
StudioAvailableAvailableAvailable on Enterprise
Odoo CommunityNot availableNot availableAvailable
Who runs the serversOdooOdooYou or your provider
Testing before productionTest duplicatesDevelopment and staging branchesWhatever you build
Automatic backupsDaily, kept for monthsDaily for productionYour responsibility
Upgrade timingOdoo's schedule, with deadlinesYour choice, within Odoo's support policyYour choice
Data locationChosen region, backups in Europe and CanadaChosen zone, including the Middle EastWherever you host
Server accessNoneShell and SSHFull

Choose for the next two years, not the first month. Moving hosting later is possible, but it means a backup, an import, retesting and sometimes an upgrade. If an integration or a custom module is likely, start on Odoo.sh or your own server.

How Star Bit Solutions Can Help

Through OdooStar, we implement Odoo on all three platforms and settle hosting with you before you subscribe, because it decides whether custom code is possible. On every Odoo Enterprise implementation, we match your apps, users, code and data location rules to Odoo Online, Odoo.sh or your own servers.

Planning customizations as well? Our guide to Odoo Studio, configuration and custom code explains what each layer needs from your hosting. For businesses with strict document and audit requirements, our Financial Services page shows how we approach them.

Ask for a hosting recommendation through the contact page, call +971 55 973 4524 or email [email protected].

Star Bit Solutions logo
Written by the Star Bit Solutions team

Star Bit Solutions is a software company in Ajman, UAE, founded in 2014. We implement and customize Odoo Enterprise and Odoo Community, and build StarBiz (AI-driven ERP), StarHub (life super app), StarBot (conversational AI), StarLearn (adaptive learning) and StarSense (AI and IoT platform). About us

OdooStar by Star Bit Solutions

Choose Your Odoo Hosting before You Subscribe.

Tell us about your apps, custom code and data rules. We will recommend Odoo Online, Odoo.sh or your own servers, with reasons.

Not Sure Which Solution Fits?

Tell us about your business and we will recommend the right starting point, free of charge.