Odoo offers various installation methods, or even options to use it without a local installation, catering to diverse use cases. This guide provides a comprehensive overview of the primary installation choices available for Odoo.
-
Online
The most straightforward approach for trying Odoo or for production deployments. -
Packaged installers
Ideal for testing Odoo, developing custom modules, and suitable for long-term production use with additional deployment and maintenance considerations. -
Source install
Offers enhanced flexibility, such as running multiple Odoo versions on a single system. This method is excellent for module development and can serve as a robust foundation for production deployments. -
Docker
For users who typically leverage Docker for development or deployment, an official Docker base image is available.
Editions
Odoo is available in two distinct editions: the Community and Enterprise versions. The Enterprise version is accessible through Odoo Online, and its source code access is exclusively provided to Enterprise customers and partners. In contrast, the Community version is freely available to all users.
Should you be using the Community version and wish to upgrade to Enterprise, please consult the Switch from Community to Enterprise guide for detailed instructions (this guidance does not apply to source installations).
Online
Demo Instances
For a quick introduction and to explore Odoo's functionalities without commitment, temporary demo instances are readily available. These shared environments are active for only a few hours, allowing users to freely browse and experiment. Accessing a demo instance requires no local installation; a standard web browser is sufficient for immediate use.
Odoo Online
Odoo Online offers a remarkably straightforward path to get started with Odoo. These private instances are fully managed and seamlessly migrated by Odoo S.A., and they begin with a free tier. It's an excellent platform for discovering, testing, and performing non-code customizations (note that these are generally incompatible with custom modules or the Odoo Apps Store) without the need for a local installation. Odoo Online is suitable for both initial testing and robust long-term production deployments. Similar to demo instances, Odoo Online requires no local installation; access is simply via a web browser.
Packaged Installers
Odoo offers convenient packaged installers compatible with Windows, as well as deb-based (e.g., Debian, Ubuntu) and RPM-based (e.g., Fedora, CentOS, RHEL) Linux distributions. These installers are available for both the Community and Enterprise editions. While they simplify the initial setup by automatically configuring all dependencies (especially for the Community version), users might find it challenging to maintain these installations with the latest updates.
Official Community packages, including all necessary dependency requirements, can be found on our nightly server. Both Community and Enterprise packages are also available for download from our dedicated download page; please note that access to Enterprise packages requires a login as a paying customer or partner.
Windows Installation
- Download the installer from our nightly server (for Community edition only) or obtain the Windows installer from the download page (available for any edition).
-
Execute the downloaded file to begin the installation process.
Warning
On Windows 8 and later operating systems, you might encounter a security warning titled “Windows protected your PC.” If this occurs, click on More Info and then select Run anyway to proceed. - Accept the User Account Control (UAC) prompt to grant necessary permissions.
- Follow the instructions through the various installation steps presented by the wizard.
Odoo will automatically launch upon successful completion of the installation.
Linux Installation
Preparation
For Odoo to operate correctly, a PostgreSQL server is essential. The default configuration for Odoo's ‘deb’ package anticipates that the PostgreSQL server will reside on the same host as your Odoo instance. To install the PostgreSQL server, execute the following command:
$ sudo apt install postgresql -y
Warning
Thewkhtmltopdf
utility is not installed via pip and must be installed manually. Ensure you use version 0.12.5 to ensure proper support for headers and footers in generated documents. For more detailed information on various versions and installation, please refer to our wiki.
Installing from the Odoo Repository
Odoo S.A. maintains a dedicated repository that simplifies installation on Debian and Ubuntu distributions. You can install _Odoo Community Edition_ by executing 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 with future releases.
Note: At present, there is no nightly repository available for the Enterprise Edition.
Installing from Distribution Package
As an alternative to using the repository, both the _Community_ and _Enterprise_ editions’ ‘deb’ packages can be directly downloaded from the official download page.
After downloading, execute the following commands as root to install:
# dpkg -i <path_to_installation_package> # this probably fails with missing dependencies
# apt-get install -f # should install the 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 required for exporting data into XLS format. If this feature is needed, you can install it manually.- The
num2words
Python package is also absent in Debian Buster or Ubuntu 18.04. Without it, textual amounts will not be rendered by Odoo, which could lead to issues with modules likel10n_mx_edi
. If this feature is essential, you can install it manually using:$ sudo pip3 install num2words
Source Installation
A source 'installation' of Odoo involves running the application directly from its source code rather than using a pre-packaged installer. This method offers significant advantages, particularly for module developers, as it provides immediate and straightforward access to the Odoo source code.
It also grants enhanced flexibility for starting and stopping Odoo, making these operations more explicit compared to service-based packaged installations. Furthermore, running from source allows for easy overriding of settings using command-line parameters, eliminating the need to modify a configuration file. Ultimately, this approach provides a higher degree of control over the system's setup and facilitates the simultaneous management and execution of multiple Odoo versions on the same system.
Fetching the Sources
Odoo's source code can be acquired via two primary methods: downloading a zip archive or cloning the repository using Git.
Via Archive
You can download the Odoo source code as a zip archive from the following locations:
- Community Edition:
- Enterprise Edition:
Via Git
The following steps assume that Git is already installed on your machine and that you possess a basic understanding of Git commands. When cloning a Git repository, you typically choose between HTTPS or SSH. If you are unsure which to use, HTTPS is generally the most straightforward option. However, if you are following the Getting Started developer tutorial or intend to contribute to the Odoo source code, SSH is the recommended choice.
C:\> git clone https://github.com/odoo/odoo.git
C:\> git clone https://github.com/odoo/enterprise.git
Note: It is important to understand that the Enterprise Git repository does not contain the complete Odoo source code; rather, it is a collection of additional add-ons. The main server code resides within the Community version. To run the Enterprise version, you essentially run the server from the Community version and set the addons-path
option to include the folder containing the Enterprise version. Therefore, you will need to clone both the Community and Enterprise repositories to establish a fully functional Odoo Enterprise installation. Refer to the Editions section for information on gaining access to the Enterprise repository.
Preparation for Source Installation
Python Environment Setup
Odoo requires Python 3.7 or a more recent version to function correctly. Please visit Python’s download page to obtain and install the latest compatible version of Python 3 on your system.
During the installation process, ensure that you check the option Add Python 3 to PATH. Then, click on Customize Installation and verify that pip is selected for installation.
Note: If Python 3 is already installed, confirm that its version is 3.7 or higher, as earlier versions are not compatible with Odoo. Additionally, verify that pip is installed for this specific Python version.
PostgreSQL Database Configuration
Odoo utilizes PostgreSQL as its primary database management system. Proceed to download and install PostgreSQL (supported versions include 12.0 and later). By default, the only user is postgres
, but Odoo prohibits connecting with the postgres
user. Therefore, you must create a new PostgreSQL user:
-
Add PostgreSQL’s
bin
directory (typically:C:\Program Files\PostgreSQL\<version>\bin
) to your system’sPATH
environment variable. -
Create a PostgreSQL user with a password using the pgAdmin graphical user interface:
- Open pgAdmin.
- Double-click the server connection to establish access.
- Select the option to create a new user/role.
- Enter the desired username in the Role Name field (e.g.,
odoo
). - Open the Definition tab, enter a password (e.g.,
odoo
), and then click Save. - Navigate to the Privileges tab and change Can login? to
Yes
and Create database? toYes
.
Installing Dependencies
Before proceeding with the installation of Odoo's dependencies, you must first download and install the Build Tools for Visual Studio. When prompted during their installation, select C++ build tools within the Workloads tab and then install them.
Odoo's required dependencies are comprehensively listed in the requirements.txt
file, which is located at the root of your Odoo Community directory.
Tip: It is often advisable to avoid mixing Python module packages between different Odoo instances or with your system's global Python environment. To achieve this, consider using virtualenv to establish isolated Python environments.
Navigate to the path of your Odoo Community installation (referred to as CommunityPath
) and execute pip on the requirements file in a terminal with Administrator privileges:
C:\> cd \CommunityPath
C:\> pip install setuptools wheel
C:\> pip install -r requirements.txt
For languages requiring a right-to-left interface (such as Arabic or Hebrew), the rtlcss
package is also necessary:
- Download and install Node.js.
- Install
rtlcss
globally using npm:C:\> npm install -g rtlcss
- Edit your System Environment’s
PATH
variable to include the folder wherertlcss.cmd
is located (typically:C:\Users\<user>\AppData\Roaming\npm\
).
Important
Thewkhtmltopdf
utility is not installed via pip and must be installed manually. Ensure you use version 0.12.5 to ensure proper support for headers and footers in generated documents. For more detailed information on various versions and installation, please refer to our wiki.
Running Odoo from Source
Once all necessary dependencies are successfully set up, Odoo can be launched by executing odoo-bin
, which serves as the command-line interface for the server. This executable is located at the root of your Odoo Community directory.
To configure the server, you have the option to specify command-line arguments directly or to utilize a configuration file.
Tip: For the Enterprise edition, it is crucial to add the path to the enterprise
add-ons to the addons-path
argument. This path must be specified before other paths within addons-path
to ensure that all add-ons are loaded correctly.
Commonly required configurations include:
- The PostgreSQL user and its corresponding password.
- Custom add-on paths beyond the default locations, which are necessary to load your own modules.
A typical command for running the Odoo server is as follows:
C:\> cd CommunityPath/
C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
In this command: CommunityPath
refers to the directory where your Odoo Community installation resides; dbuser
is the PostgreSQL login username; dbpassword
is the password for the PostgreSQL user; and mydb
is the chosen name for your PostgreSQL database.
After the server has successfully started (indicated by the INFO log odoo.modules.loading: Modules loaded.
being printed), open http://localhost:8069 in your web browser. Log in using the base administrator account with `admin` for both the Email and Password. Congratulations, you have successfully logged into your own Odoo database!
Tip:
- From within the Odoo web interface, you can create and manage new users for your system.
- It's important to distinguish that the user account you employ to log into Odoo’s web interface is separate from the
--db_user
CLI argument used for database connection.
Docker Deployment
For comprehensive instructions on deploying Odoo with Docker, please refer to the official Odoo Docker image page, which provides detailed documentation and guides tailored for Docker integration.