Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/odoo/documentation/llms.txt

Use this file to discover all available pages before exploring further.

On-premise installations give you full control over your Odoo environment, infrastructure, and data. Odoo supports several installation methods: official distribution packages for Linux and Windows, a source code install for maximum flexibility, and Docker images for containerized deployments. All methods support both the Community (free) and Enterprise editions.

Choosing an Installation Method

Packaged Installers

Official .deb (Debian/Ubuntu) and .rpm (Fedora/RHEL) packages, plus a Windows installer. The fastest way to get a working Odoo service.

Source Install

Run Odoo directly from the GitHub source. Ideal for module developers and for running multiple Odoo versions on the same machine.

Docker

Use the official Odoo Docker image for containerized deployments in development or production.

Windows

A Windows installer is available for testing or single-user local instances. Production deployments on Windows are discouraged.

Packaged Installers

Official Community nightly packages are available on the nightly server. Both Community and Enterprise packages can be downloaded from the Odoo download page.
Downloading Enterprise packages requires a paid on-premise subscription or Odoo partner account.

Prerequisites

Odoo requires a PostgreSQL server.
sudo apt install postgresql -y
wkhtmltopdf must be installed manually at version 0.12.6 for headers and footers in PDF reports to work correctly.

Install via Repository (Community Edition)

wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/18.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
sudo apt-get update && sudo apt-get install odoo
Keep the installation up-to-date with sudo apt-get upgrade.

Install via Distribution Package

Download the .deb or .rpm package from the Odoo download page, then install it:
sudo apt update
sudo apt install <path_to_installation_package>

Source Install

Running Odoo from source gives you full control and is the preferred setup for developers. It requires Python 3.10 or later.
1

Fetch the source code

Clone the Community (and optionally Enterprise) repositories from GitHub:
git clone --branch 18.0 --single-branch https://github.com/odoo/odoo.git
git clone --branch 18.0 --single-branch https://github.com/odoo/enterprise.git
The Enterprise repository only contains extra add-ons — the core server is in the Community repository. Both repositories are required for an Enterprise installation.
2

Install Python dependencies

cd odoo
pip install -r requirements.txt
3

Set up PostgreSQL

Create a PostgreSQL user for Odoo:
sudo -u postgres createuser -s $USER
4

Start Odoo

For Community:
./odoo-bin -d mydb
For Enterprise (point --addons-path to both repositories):
./odoo-bin -d mydb --addons-path=addons,../enterprise

Docker

Use the official Odoo Docker image from Docker Hub. A typical docker-compose.yml pairs the Odoo container with a PostgreSQL container:
version: '3.1'
services:
  web:
    image: odoo:18.0
    depends_on:
      - db
    ports:
      - "8069:8069"
  db:
    image: postgres:15
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo

Registering Your Database

After installing Odoo Enterprise, register your database by entering your subscription code in the banner displayed on the app dashboard. A successful registration turns the banner green and shows the database expiration date.
The expiration date is also shown at the bottom of the Settings page.

Common Registration Errors

If you see a registration error:
  • Verify your subscription is In Progress on your Odoo Account.
  • Make sure no other database is already linked to this subscription code (one database per subscription).
  • Check that no databases share the same UUID by reviewing your Odoo Contract. If duplicates exist, manually change the UUID or open a support ticket.
  • Ensure your firewall allows outbound connections: Odoo 18.0+ requires services.odoo.com:80; Odoo 17.0 and earlier requires services.openerp.com:80.
If your database has more users than your subscription allows, you have 30 days to act before the database expires. To resolve:
  • Click Upgrade your subscription in the message to pay for additional users, or
  • Deactivate users and reject the upsell quotation.
If your subscription expired before renewal, click Renew your subscription in the error banner. Credit card payments are processed immediately; wire transfers may take a few days.

Duplicating a Database

Duplicate your database by visiting <odoo-server>/web/database/manager. Check the neutralize option when prompted to create a testing duplicate — this executes all neutralize.sql scripts for every installed module, disabling outgoing emails and other external actions.

Switching from Community to Enterprise

1

Back up your Community database

Use the database manager at /web/database/manager to download a backup.
2

Stop the Odoo service

sudo service odoo stop
3

Install the Enterprise package

Using a .deb package (installs over the Community package):
sudo dpkg -i <path_to_enterprise_deb>
Using source code: Update the --addons-path parameter in your launch command to include the Enterprise addons directory.
4

Update the database

python3 /usr/bin/odoo-bin -d <database_name> -i web_enterprise --stop-after-init
5

Restart and activate

Restart the Odoo service. On the dashboard, enter your Odoo Enterprise subscription code to link the database to your subscription.
On Windows, uninstall Odoo Community first (PostgreSQL will remain), then run the Odoo Enterprise installer. Update the database using the command prompt from the Odoo installation directory.

Build docs developers (and LLMs) love