Odoo offers a variety of installation methods, each suited to different use cases, whether for production, development, or simply trying out the platform. This comprehensive guide outlines the primary options available for deploying Odoo 16.

  • Online: The most straightforward approach for production environments or initial exploration.
  • Packaged Installers: Ideal for testing Odoo, developing modules, and adaptable for long-term production use with proper deployment and maintenance.
  • Source Installation: Offers maximum flexibility, supporting multiple Odoo versions on a single system. Excellent for module development and a solid foundation for production deployments.
  • Docker: For users familiar with containerization, an official Odoo Docker base image simplifies development and deployment.

Odoo Editions

Odoo is available in two distinct editions: Community and Enterprise. The Enterprise version includes additional features and is typically accessed through Odoo Online or by subscribing as a paying customer or partner, which provides access to its code. The Community version is open-source and freely available to all users. Should you wish to upgrade from the Community to the Enterprise version, detailed instructions are available in the Switch from Community to Enterprise documentation (this excludes source installations).

Online Installation

For immediate access and minimal setup, Odoo provides convenient online options.

Demo Instances

To quickly experience Odoo without any commitment, demo instances are readily available. These are shared environments that are temporary, typically lasting only a few hours. They are perfect for browsing Odoo's interface and experimenting with its functionalities. No local installation is required; all you need is a web browser.

Odoo Online

Odoo Online offers private, fully managed instances that are migrated and supported by Odoo S.A. It provides an effortless starting point, with initial access often being free. This option is excellent for discovering and testing Odoo, allowing for non-code customizations (i.e., those not involving custom modules or the Odoo Apps Store) without the need for a local installation. Odoo Online is suitable for both testing and long-term production use. Similar to demo instances, it only requires a web browser for access.

Packaged Installers

Odoo provides official packaged installers for various operating systems, catering to both the Community and Enterprise editions. These installers are available for Windows, as well as Debian-based (e.g., Debian, Ubuntu) and RPM-based (e.g., Fedora, CentOS, RHEL) Linux distributions. While these packages automate the setup of most dependencies (for the Community version), they might require additional effort to keep updated.

Official Community packages, including all necessary dependencies, can be found on our nightly server. Both Community and Enterprise packages are available for download from our download page. Note that access to Enterprise packages typically requires logging in as a paying customer or partner.

Windows Installation

  1. Download the appropriate installer from either the nightly server (Community edition only) or the official download page (for any edition).
  2. Execute the downloaded file.
    Warning: On Windows 8 and newer, you may encounter a "Windows protected your PC" warning. To proceed, click on More Info, then select Run anyway.
  3. Accept the User Account Control (UAC) prompt.
  4. Follow the on-screen instructions to complete the installation steps.

Odoo will automatically launch once the installation is finalized.

Linux Installation

Preparing for Linux Installation

Odoo relies on a PostgreSQL server for its database operations. The default configuration for the Odoo Debian package anticipates the PostgreSQL server to be on the same host as your Odoo instance. To install the PostgreSQL server, execute the following command:

$ sudo apt install postgresql -y
Warning: The wkhtmltopdf tool is not installed via pip. For proper support of headers and footers in PDF generation, you must manually install version 0.12.5. Refer to the Odoo wiki for detailed information on different versions.

Using the Odoo Repository

Odoo S.A. provides a dedicated repository compatible with Debian and Ubuntu distributions. You can install Odoo Community Edition by running the following commands in your terminal:

$ 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/16.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
$ sudo apt-get update && sudo apt-get install odoo

Once installed, you can use the standard apt-get upgrade command to keep your Odoo installation up-to-date.

Note: At present, a nightly repository for the Enterprise Edition is not available.

Installing from a Distribution Package

Alternatively, you can download the .deb packages for both Community and Enterprise editions directly from the official download page. After downloading, execute the following commands as root:

# dpkg -i <path_to_installation_package> # this might initially fail due to missing dependencies
# apt-get install -f # this command should resolve and install any missing dependencies
# dpkg -i <path_to_installation_package>

This process will install Odoo as a system service, create the necessary PostgreSQL user, and automatically start the server.

Warning:
  • The python3-xlwt Debian package is not available in Debian Buster or Ubuntu 18.04. This Python module is essential for exporting data into XLS format. If this feature is required, you will need to install it manually.
  • The num2words Python package is also not present in Debian Buster or Ubuntu 18.04. Without it, textual amounts will not be rendered by Odoo, which could cause issues with modules such as l10n_mx_edi. If this functionality is needed, install it manually using:
    $ sudo pip3 install num2words

Source Installation

A source "installation" involves running Odoo directly from its source code, rather than through a traditional installer. This method is particularly beneficial for module developers, as it provides easier access to the Odoo source code compared to packaged installations. It also offers more explicit and flexible control over starting and stopping Odoo, bypassing the services set up by packaged installations. Furthermore, it allows for overriding settings via command-line parameters without editing configuration files, and facilitates running multiple Odoo versions side-by-side.

Fetching the Sources

There are two primary ways to obtain the Odoo source code: as a zip archive or by cloning a Git repository.

Obtaining Sources via Archive

For the Community Edition, sources can be downloaded from:

For the Enterprise Edition, sources are available from:

Obtaining Sources via Git

This method requires Git to be installed on your system and basic familiarity with Git commands. When cloning a repository, you'll choose between HTTPS and SSH. For general use, HTTPS is often the simpler option. If you plan to follow the Getting started developer tutorial or contribute to the Odoo source code, SSH is recommended.

C:\> git clone https://github.com/odoo/odoo.git
C:\> git clone https://github.com/odoo/enterprise.git
Note: The Enterprise Git repository does not contain the complete Odoo source code; it is solely a collection of additional add-ons. The main server code resides within the Community version. To run the Enterprise version, you must execute the server from the Community version and set the addons-path option to include the Enterprise version's folder. It is therefore necessary to clone both the Community and Enterprise repositories for a functional Odoo Enterprise installation. Refer to the Editions section for information on accessing the Enterprise repository.

Preparation for Source Installation

Before running Odoo from source, several key components must be properly configured.

Python Configuration

Odoo requires Python 3.7 or a later version to operate. Visit Python’s download page to download and install the latest compatible version of Python 3 on your machine. During the installation process, ensure you check the option Add Python 3 to PATH. Then, click Customize Installation and confirm that pip is selected for installation.

Note: If Python 3 is already installed, verify that its version is 3.7 or newer, as older versions are not compatible with Odoo. Also, confirm that pip is installed for your chosen Python version.

PostgreSQL Setup

Odoo utilizes PostgreSQL as its database management system. Download and install PostgreSQL (versions 12.0 and later are supported). By default, only the postgres user exists, but Odoo prevents connections as postgres. Therefore, you must create a new PostgreSQL user:

  1. Add PostgreSQL’s bin directory (typically C:\Program Files\PostgreSQL\<version>\bin) to your system’s PATH environment variable.
  2. Create a PostgreSQL user with a password using the pgAdmin graphical user interface:
    1. Open pgAdmin.
    2. Double-click the server to establish a connection.
    3. Right-click on Login/Group Roles, then select Create > Login/Group Role....
    4. Enter the desired username in the Role Name field (e.g., odoo).
    5. Navigate to the Definition tab, enter a password (e.g., odoo), and click Save.
    6. Open the Privileges tab and set Can login? to Yes and Create database? to Yes.

Installing Dependencies

Before installing Odoo's Python dependencies, you must download and install the Build Tools for Visual Studio. When prompted during its installation, select C++ build tools under the Workloads tab and proceed with the installation.

Odoo's specific dependencies are listed in the requirements.txt file, located at the root of the Odoo Community directory.

Tip: To avoid conflicts and maintain isolated Python environments, it is often advisable to use virtualenv, especially when managing multiple Odoo instances or system-wide Python modules.

Navigate to your Odoo Community installation directory (CommunityPath) and execute the following commands in a terminal with Administrator privileges:

C:\> cd \CommunityPath
C:\> pip install setuptools wheel
C:\> pip install -r requirements.txt

For languages with right-to-left (RTL) interfaces, such as Arabic or Hebrew, the rtlcss package is required:

  1. Download and install Node.js.
  2. Install rtlcss globally using npm:
    C:\> npm install -g rtlcss
  3. Edit your System Environment's PATH variable to include the directory where rtlcss.cmd is located (commonly: C:\Users\<user>\AppData\Roaming\npm\).
Important: wkhtmltopdf is not installed via pip. For comprehensive support of headers and footers in generated PDFs, you must manually install version 0.12.5. Consult the Odoo wiki for further details regarding various versions.

Running Odoo from Source

With all dependencies successfully set up, Odoo can be launched by executing odoo-bin, the server's command-line interface, found at the root of your Odoo Community directory. Server configuration can be managed either through command-line arguments or by utilizing a configuration file.

Tip: For the Enterprise edition, it is crucial to add the path to your enterprise add-ons to the addons-path argument. This path must precede other paths in addons-path to ensure add-ons are loaded correctly.

Commonly required configurations include:

  • PostgreSQL username and password.
  • Custom add-on paths, beyond the default ones, to load your own modules.

A typical command to launch the server would be:

C:\> cd CommunityPath/
C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb

Here, CommunityPath refers to the location of your Odoo Community installation, dbuser is your PostgreSQL login, dbpassword is the corresponding PostgreSQL password, and mydb is the name of your PostgreSQL database.

Once the server has successfully started (indicated by the INFO log odoo.modules.loading: Modules loaded.), open your web browser and navigate to http://localhost:8069. Log in using the default administrator account: enter admin for both the Email and Password. Congratulations, you have successfully logged into your own Odoo database!

Tip:
  • From within Odoo's web interface, you can create and manage new users.
  • The user account used to log into Odoo's web interface is distinct from the --db_user CLI argument used for the database connection.

Docker Deployment

For those who prefer containerized environments, the comprehensive documentation on how to deploy and manage Odoo using Docker can be found on the official Odoo Docker image page. This method offers a streamlined approach for development and production deployments by leveraging Docker's benefits.

Was this answer helpful? 0 Users Found This Useful (0 Votes)