Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Deployment of Odoo in High Availability

Subscribe

Get notified when there's activity on this post

This question has been flagged
1 Reply
357 Views
Avatar
Omar Khallouf

Hi community.


How to deploy Odoo 19 enterprise on a cloud server with multiple application servers and multiple database severs ?


Appreciate your help.

0
Avatar
Discard
Mark Levandovsky

Hi,
I might be able to help, but could you clarify what setup you actually mean? When you mention “multiple application servers and multiple database servers”, are you referring to one of these scenarios:

A. Multiple independent Odoo instances? For example: 3–4 separate Odoo deployments on the same cloud server provider:
1. company1.example.com → uses company1_db
2. company2.example.com → uses company2_db
3. etc.

or

B. A single Odoo 19 Enterprise instance with high availability / load balancing? For example: one Odoo service for one company, but scaled horizontally:
1. several Odoo application servers behind a load balancer
2. a PostgreSQL cluster with replication/failover

These two architectures are very different, so understanding which one you need will determine the correct deployment strategy.

Could you specify which one matches your expectations?

Omar Khallouf
Author

Hello Mark.

Thank you for your response.

I mean B: a single Odoo instance for a single company with high availability.

The idea here is that I want to deploy Odoo enterprise on a cloud server, Google Cloud for example, and I need the system to be highly available in case of any disaster happening. Yes, I was thinking of having multiple application servers behind a load balancer.

I need the application and the database servers to be highly available.

Is it possible to separate postgres from the application in Odoo, having an "application" server that has the modules, the logic, the custom code, etc, and a "database" server that only has postgres ?


In the case of postgres, is it applicable to have a managed postgres service from the cloud provider, or I will strictly have to manage postgres manually ?


Also, the question of license is critical. How does the enterprise license play with multiple application servers ?

Thank you in advance. I appreciate it.

Codesphere Tech

Yes, it is possible to run PostgreSQL as a separate database server. I’ve implemented this using AWS RDS, which works very well for separating the application and database layers.
You can also set up disaster recovery using a Master–Slave (Primary–Replica) PostgreSQL configuration. In this setup, if the primary instance fails, the secondary (replica) instance is automatically promoted, ensuring high availability and minimal downtime.

Codesphere Tech

I don’t have much experience with managing enterprise licenses across multiple servers, and for the application server I used VPC Peering in AWS. Currently, the blog I wrote is not accessible due to a server issue. I will provide here blog link once it is available.

Omar Khallouf
Author

Hi Lakhan,

Please tell us more details about the application server. Did you deploy two of them ?

How did you manage the enterprise license between multiple servers ?

Omar Khallouf
Author

Thank you so much Mark.

The customer is sensitive about the odoo sh backup replicas being hosted outside of the production branch's location.

For the database, yes, we will deploy one write node, and multiple read nodes.

In that case and as I understand, we can have 2 Odoo app servers, 1 write DB node, 3-4 read only nodes, and shared NFS storage for files.

I greatly appreciate your help and time.

Mark Levandovsky

Well, in that case it’s actually very straightforward. Odoo supports only a single db_replica_host - you can’t define multiple replicas directly in odoo.conf.

So in your configuration file (odoo.conf), you сan specify:
- db_host = IPv4 of the primary database
- db_replica_host = IPv4 of the load-balanced replicas

Your load balancer will handle the 3–4 replica nodes.

Good luck with your implementation! For testing, you may find this link helpful:
https://www.odoo.com/documentation/19.0/developer/reference/cli.html#database

Avatar
Mark Levandovsky
Best Answer

Honestly, what you're describing is basically a Kubernetes-style Odoo deployment, even if you don’t say “Kubernetes” out loud. Multiple app servers, multiple DB servers, HA, load balancers… that is the architecture.

Odoo is stateless, so you can run as many replicas as you want. The only real requirement: every single instance needs the exact same database config. Like: db_host, db_port, db_user, db_password, db_name.

More here: https://www.odoo.com/documentation/19.0/administration/on_premise/deploy.html#id4

You said you want multiple database servers - not just a backup. As I understood it:
- one write node
- several read replicas
- automatic failover
- maybe even a virtual IP / HA endpoint

Typical ways people do this:
- Patroni (the classic Postgres HA solution in Kubernetes)
- CrunchyData operator (also very popular)
- Google Cloud SQL (if you want HA without babysitting your cluster)

Google Cloud SQL is the simplest: you get a primary, read replicas, backups, and failover without touching replication configs. Odoo doesn’t care about replicas vs primary. It just connects to the primary endpoint. Your Google Cloud Postgres setup handles the magic.

Enterprise license? Super easy.
The license has nothing to do with how many Odoo applications servers you run.

It’s tied to the database and the number of active users inside that database. As long as all your app servers point to the same DB (same db_name), everything is fine. Want 2 app servers? 10? 50? Doesn’t matter. Odoo only checks the user count and license key in the DB. If your write node + replicas stay in sync, you’ll never have license issues.

Not pushing it - just genuinely asking. Have you already ruled out using odoo.sh?
Not suggesting it as “the solution”, but simply because it already provides HA PostgreSQL, backups, worker scaling, and redundancy. Sometimes it covers exactly the requirements you described - unless you have specific constraints (region, compliance, private network, very custom modules, etc.).

P.S.:
Odoo supports only a single db_replica_host - you can’t define multiple replicas directly in odoo.conf.

So in your configuration file (odoo.conf), you сan specify:

- db_host = IPv4 of the primary database
- db_replica_host = IPv4 of the load-balanced replicas

Your load balancer will handle the 3–4 replica nodes.

Good luck with your implementation! For testing, you may find this link helpful:

https://www.odoo.com/documentation/19.0/developer/reference/cli.html#database

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now