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
These ensure third-party Odoo modules (shipping, EDI, eCommerce, accounting, etc.) run without errors.
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:
- Odoo Installation & Server Deployment
- Odoo Hosting & Managed Support
- Odoo EDI, Shipping, eCommerce & 3PL Integrations
- Enterprise and Community Customizations
- Odoo 17/18/19 Migration Services
👉 Website:www.vrajatechnologies.com
👉 Email: sales@vrajatechnologies.com or support@vrajatechnologies.com
We can install and configure your Odoo within a few hours — fully optimized and secure.
Frequently Asked Questions
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.