Complete Odoo Installation Guide for Odoo 17, 18 & 19

Installing Odoo correctly is crucial for performance, stability, and smooth business operations. Whether you’re setting up Odoo 17, Odoo 18, or the latest Odoo 19, this complete installation guide covers every step—from system dependencies and Python compilation to PostgreSQL installation and configuration.

This article is ideal for developers, system admins, and companies deploying Odoo for the first time or upgrading to a newer version.

Why This Odoo Installation Guide Matters

Installing Odoo is easy only when done correctly. Using the wrong Python version, outdated PostgreSQL, or an unsupported Ubuntu version leads to:

  • Installation errors
  • Module loading issues
  • Broken dependencies
  • Performance slowdowns
  • Migration failures

This guide ensures you follow Odoo’s best practices for versions 17, 18, and 19.

What You’ll Learn

  • Required system dependencies
  • Installing Python 3.10 / 3.12 for Odoo
  • Installing required Odoo 19 Python packages
  • Installing PostgreSQL (15 recommended)
  • Important OS/PostgreSQL version compatibility notes
  • Creating PostgreSQL users for Odoo
  • Expert support details

Steps for Installation:

1. Install System Dependencies (Required for All Odoo Versions)

Run the following commands to install essential build tools:

sudo apt update

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \

libssl-dev libreadline-dev libffi-dev wget

These packages allow you to compile Python from source — necessary because Odoo uses specific Python versions depending on its release.

2. Install Python Based on Odoo Version

Python for Odoo 17 → Python 3.10

cd /tmp

wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

tar -xf Python-3.10.0.tgz

cd Python-3.10.0

 ./configure –enable-optimizations

sudo make install

 

Python for Odoo 18 & Odoo 19 → Python 3.12

cd /tmp

wget https://www.python.org/ftp/python/3.12.8/Python-3.12.8.tgz

tar -xf Python-3.12.8.tgz

cd Python-3.12.8

./configure –enable-optimizations

sudo make install

Why Python 3.12?

 Odoo 19 is optimized for Python 3.12, giving you faster performance and better memory efficiency.

3. Install Required Python Packages (For Odoo 19)

Below is the complete list of Python packages you must install :

pip3.12 install –upgrade pip 

pip3.12 install -r requirements.txt

pip3.12 install babel

pip3.12 install pytz

pip3.12 install MarkupSafe==2.0.1

pip3.12 install lxml==4.9.3

pip3.12 install idna

pip3.12 install Werkzeug==2.0.2

pip3.12 install psycopg2-binary

pip3.12 install polib

pip3.12 install dateutil

pip3.12 install python-dateutil

pip3.12 install dateutil

pip3.12 install psutil

pip3.12 install rjsmin

pip3.12 install requests

pip3.12 install pillow

pip3.12 install pypdf2

pip3.12 install pyopenssl==21.0.0

pip3.12 install docutils

pip3.12 install asn1crypto==1.4.0

pip3.12 install geoip2==2.9.0

pip3.12 install asn1crypto==1.4.0

pip3.12 install qrcode

pip3.12 install chardet

sudo apt update

pip3.12 install libsass==0.20.1

4. Install PostgreSQL (Database for Odoo)

sudo apt update

sudo apt install postgresql-15 postgresql-client-15

PostgreSQL 15 is highly recommended for Odoo 18 and 19.

5. Important PostgreSQL & OS Compatibility Notes
✔ Odoo 19 requires PostgreSQL 13 or higher

Older PG versions can break features like ORM performance and search domains.

✔ PostgreSQL 13+ requires Ubuntu 22.04 or later

If you are using Ubuntu 20.04 or older — do NOT install Odoo 19.

✔ Recommended OS for Odoo 19 → Ubuntu 22.04 LTS

Best compatibility + long-term support + stable updates.

6. Create a PostgreSQL User for Odoo

Switch to postgres user:

sudo su postgres

psql

Create Odoo database user:

CREATE USER your_username WITH PASSWORD ‘your_password’;

ALTER USER your_username WITH SUPERUSER;

ALTER USER your_username WITH CREATEDB;

This ensures Odoo can create and manage databases without permission issues.

💡Additional Tips for Odoo Installation

To optimise your server even further:

  • Use Nginx reverse proxy 
  • Enable workers/multi-threading
  • Install wkhtmltopdf (for reports)
  • Use firewall & fail2ban for security
  • Run Odoo inside systemd service

Final Thoughts

This complete Odoo installation guide gives you a production-ready setup for:

✔ Odoo 17 (Python 3.10)

✔ Odoo 18 (Python 3.12)

✔ Odoo 19 (Python 3.12 + PostgreSQL 13+)

By following these steps, your Odoo instance will run faster, smoother, and error-free — ready for business operations, modules, and custom apps.

Need Help Installing or Setting Up Odoo?

Vraja Technologies is a trusted Odoo partner with expertise in:

👉 Website:www.vrajatechnologies.com
 👉 Emailsales@vrajatechnologies.com or support@vrajatechnologies.com

 

We can install and configure your Odoo within a few hours — fully optimized and secure.

 Frequently Asked Questions 

1. Which Python version is used for Odoo 19?

Python 3.12 is recommended and required for optimal performance.

PostgreSQL 13 or higher.

No — PostgreSQL 13+ will not install properly on Ubuntu 20.04.

Yes — works for both versions.