OS Version Matrix
Odoo officially supports Ubuntu (primarily) and Debian. While Odoo can run on other Linux distributions, Ubuntu is the reference platform used for development, testing, and official packages.
| Odoo Version | Ubuntu (Recommended) | Ubuntu (Minimum) | Debian |
|---|---|---|---|
| 14.0 | 20.04 LTS | 18.04 LTS | Buster (10) |
| 15.0 | 20.04 LTS | 18.04 LTS | Buster (10) |
| 16.0 | 22.04 LTS | 20.04 LTS | Bullseye (11) |
| 17.0 | 22.04 LTS | 20.04 LTS | Bullseye (11) |
| 18.0 | 22.04/24.04 LTS | 22.04 LTS | Bookworm (12) |
| 19.0 | 24.04 LTS | 22.04 LTS | Bookworm (12) |
Why Ubuntu Version Matters
System Python
Ubuntu ships with a specific Python version. Odoo's Python requirements must match what is available on the OS or installable via deadsnakes PPA:
- Ubuntu 20.04 ships Python 3.8
- Ubuntu 22.04 ships Python 3.10
- Ubuntu 24.04 ships Python 3.12
System Libraries
Odoo depends on system libraries for wkhtmltopdf (PDF generation), libsasl2 (LDAP), libxml2 (XML processing), and others. Older Ubuntu versions may have incompatible library versions.
PostgreSQL Packages
Ubuntu repositories include specific PostgreSQL versions. For newer PostgreSQL versions, you may need the PostgreSQL APT repository (apt.postgresql.org).
wkhtmltopdf Requirements
Odoo uses wkhtmltopdf for generating PDF reports. The specific version matters:
# Recommended wkhtmltopdf for Odoo:
# Odoo 14-17: wkhtmltopdf 0.12.5 with patched Qt
# Odoo 18-19: wkhtmltopdf 0.12.6+ (or wkhtmltopdf from Odoo's packages)
# Install on Ubuntu 22.04/24.04:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo apt -f installSystem Dependencies
# Essential packages for Odoo on Ubuntu:
sudo apt update
sudo apt install -y \
python3-pip python3-dev python3-venv \
libxml2-dev libxslt1-dev zlib1g-dev \
libsasl2-dev libldap2-dev libssl-dev \
libjpeg-dev libpq-dev \
node-less npm \
gitDocker Alternative
Docker eliminates OS version concerns. The official odoo:19 Docker image includes the correct OS, Python, and system libraries. This is the approach DeployMonkey uses for consistent deployments.
# Run Odoo 19 with Docker:
docker run -d --name odoo19 \
-p 8069:8069 \
-e HOST=db -e USER=odoo -e PASSWORD=odoo \
odoo:19CentOS/RHEL/Rocky
Odoo does not officially support CentOS, RHEL, or Rocky Linux, but community guides exist. The main challenges are different package names, SELinux configuration, and Python version availability. For production use, Ubuntu or Docker is strongly recommended.
DeployMonkey Advantage
DeployMonkey uses Docker-based deployments with the correct OS, Python, PostgreSQL, and system dependencies for each Odoo version. No manual OS configuration needed.