Odoo offers various installation methods, or even no installation at all, tailored to different use cases and requirements. This comprehensive guide aims to outline the primary installation options available for Odoo, helping you choose the best approach for your specific needs, whether for quick trials, development, or long-term production environments.
Understanding Odoo Editions
Odoo is available in two distinct editions: the Community and Enterprise versions. Each caters to different needs and access levels.
- Community Edition: This version is freely available to anyone, offering a robust open-source foundation for various business operations. It\'s ideal for those seeking flexibility and direct control over their Odoo instance.
- Enterprise Edition: This version provides additional features, advanced functionalities, and dedicated services. It is accessible through Odoo Online, and its source code is exclusively available to Enterprise customers and partners.
Should you currently be utilizing the Community version and decide to upgrade to Enterprise, please consult the dedicated documentation on Switching from Community to Enterprise. Note that this guidance generally applies to all installation types except for direct source installations, which offer greater manual control over the upgrade path.
Choosing Your Odoo Installation Method
Selecting the right installation method for Odoo depends heavily on your specific requirements, such as ease of use, control over the environment, or development needs. Below, we detail the primary installation options available.
Online Deployment (Demo & Odoo Online)
For those seeking the simplest and most immediate way to experience Odoo, online deployment options are ideal. These solutions eliminate the need for any local installation, requiring only a web browser.
Odoo Demo Instances
If you\'re looking for a quick, commitment-free way to explore Odoo\'s functionalities and get a general idea of its capabilities, demo instances are readily available. These are shared environments designed to run for a few hours, perfect for browsing and experimenting with Odoo without any local setup or long-term commitment. All you need is a standard web browser to access them.
Odoo Online Instances
Odoo Online offers a highly convenient, fully managed service provided directly by Odoo S.A. These private instances are incredibly easy to launch and often begin with a free tier, making them excellent for initial discovery, comprehensive testing, and even long-term production use. Odoo Online handles all server management, maintenance, and database migrations, reducing your operational overhead. It facilitates non-code customizations through the Odoo interface, though it\'s important to note these are typically incompatible with custom modules or those from the Odoo Apps Store if you choose to install them. Similar to demo instances, Odoo Online environments require no local installation; a web browser is all that\'s needed to get started, making it a truly hassle-free option.
Packaged Installers for On-Premise Setup
Odoo provides user-friendly packaged installers for various operating systems, including Windows, and both deb-based (e.g., Debian, Ubuntu) and RPM-based (e.g., Fedora, CentOS, RHEL) Linux distributions. These installers are available for both Community and Enterprise editions, providing a straightforward path for on-premise deployments.
While these packages simplify the initial setup by automatically configuring most dependencies (especially for the Community version), users should be aware that maintaining them with the latest updates might require additional effort compared to other methods like source installations. Official Community packages, including all necessary dependency requirements, can be found on the Odoo nightly server. Both Community and Enterprise packages are also available on the official download page; however, access to Enterprise packages typically requires logging in as a paying customer or partner.
Windows Installation
Installing Odoo on Windows using a packaged installer is a straightforward process that guides you through a few simple steps:
- First, download the appropriate installer. You can find the Community edition on the nightly server, or download installers for any edition (Community or Enterprise) from the official download page.
- Once downloaded, execute the installer file.
-
Warning: On Windows 8 and newer operating systems, you might encounter a security warning titled “Windows protected your PC.” If this occurs, simply click on More Info, and then select Run anyway to proceed with the installation.
- Accept the User Account Control (UAC) prompt when it appears, granting the necessary permissions for installation.
- Follow the on-screen instructions to complete the various installation steps.
Upon successful completion of the installation, Odoo will automatically launch and be ready for use, typically accessible through your web browser.
Linux Installation
For Linux users, Odoo can be installed using its packaged installers, primarily designed for deb-based distributions like Debian and Ubuntu. This section covers the essential preparatory steps and two common installation methods: utilizing the official Odoo repository or installing directly from a distribution package.
Preparing for Linux Installation
To ensure Odoo runs smoothly and effectively, a robust PostgreSQL database server is an essential prerequisite. The default configuration for the Odoo ‘deb’ package is designed to seamlessly integrate with a PostgreSQL server located on the same host as your Odoo instance. To install the PostgreSQL server, execute the following command in your terminal:
$ sudo apt install postgresql -y
wkhtmltopdf tool, which is crucial for generating high-quality PDF reports with custom headers and footers within Odoo, is not installed via pip. It must be manually installed, specifically version 0.12.5, to ensure proper functionality. For comprehensive details on various versions, known issues, and detailed installation guidance, please refer to the Odoo wkhtmltopdf wiki.
Using the Odoo S.A. Repository (Linux)
Odoo S.A. provides a dedicated and frequently updated repository that can be utilized with Debian and Ubuntu distributions. This method offers a convenient way to install the Odoo Community Edition and effortlessly keep it up-to-date. To set up the repository and install Odoo, execute the following commands sequentially 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
After the initial installation, you can easily maintain the currency of your Odoo instance by regularly running the standard sudo apt-get upgrade command, which will fetch and apply the latest updates from the repository.
Installing via Distribution Package (Linux)
As an alternative to using the repository, you can directly download the ‘deb’ packages for both the Community and Enterprise editions from the official Odoo download page. Once you have the package, follow these steps, ensuring you execute the commands as the root user or with appropriate `sudo` privileges:
# dpkg -i <path_to_installation_package> # This command might initially fail due to missing dependencies.
# apt-get install -f # This crucial command will resolve and install any necessary missing dependencies.
# dpkg -i <path_to_installation_package>
This installation process will configure Odoo to run as a system service, automatically create the required PostgreSQL user for database interaction, and initiate the Odoo server, making it accessible on your network.
python3-xlwt: This Debian package is unfortunately not available in older distributions such as Debian Buster or Ubuntu 18.04. It is, however, essential if you require the functionality to export data into XLS format within Odoo. If this feature is critical for your operations, you must install it manually.num2words: Similarly, thenum2wordsPython package is absent in Debian Buster and Ubuntu 18.04. Without this package, Odoo will not be able to render textual amounts correctly, which can lead to significant problems, particularly with localized modules likel10n_mx_edi. If you need this functionality, you can install it manually using:$ sudo pip3 install num2words
Source Code Installation: Flexibility for Developers
Opting for a source code "installation" essentially means running Odoo directly from its source, bypassing traditional installation packages. This method offers unparalleled flexibility and control, making it particularly advantageous for module developers, system integrators, and advanced users who require fine-grained customization and debugging capabilities.
Key benefits of a source installation include:
- Developer Convenience: The Odoo source code is directly accessible, which significantly streamlines development workflows, debugging, and customization efforts compared to working with packaged installations.
- Enhanced Control: It provides greater flexibility over starting, stopping, and managing Odoo instances. This approach offers more explicit control than system services and allows for easy overriding of settings via command-line parameters, often eliminating the need to modify configuration files.
- Multi-Version Management: This method greatly simplifies the process of maintaining and running multiple Odoo versions concurrently on the same system, which is invaluable for testing compatibility or managing different client projects.
Obtaining the Odoo Source Code
To proceed with a source installation, you\'ll first need to acquire the Odoo source code. There are two primary and widely used methods for this: downloading a zip archive of the code or cloning a Git repository.
Via Archive Download
You can download the Odoo source code as a compressed zip archive directly from the following official and trusted locations:
- Community Edition:
- Official download page
- GitHub repository
- Nightly server (for the very latest, unreleased versions)
- Enterprise Edition:
Via Git Repository
For those familiar with Git, cloning the repositories offers a highly flexible and version-controlled way to manage your Odoo source code. This method requires Git to be installed on your system and a basic understanding of Git commands. When cloning a repository, you\'ll typically choose between cloning with HTTPS or SSH. If you\'re unsure which to use, HTTPS is generally the simpler option for initial access. However, if you\'re actively following the Getting Started developer tutorial or intend to contribute to the Odoo source code, SSH is the recommended choice due to its authentication benefits.
C:\\> git clone https://github.com/odoo/odoo.git
C:\\> git clone https://github.com/odoo/enterprise.git
addons-path option to explicitly include the folder containing the Enterprise version. Therefore, a fully functional Odoo Enterprise installation from source requires cloning both the Community and Enterprise repositories. For details on gaining access to the Enterprise repository, please refer back to the Understanding Odoo Editions section.
Essential Preparation for Source Installation
Before running Odoo directly from its source code, several crucial components need to be installed and meticulously configured on your system. These foundational elements include the correct Python environment, a robust PostgreSQL database, and various essential Python dependencies.
Python Environment Setup
Odoo mandates Python 3.7 or a later version for its proper operation. We highly recommend visiting Python\'s official download page to obtain and install the latest compatible version of Python 3 on your machine to ensure optimal performance and compatibility.
During the Python installation process, it is critical to ensure that you check the option "Add Python 3 to PATH". Subsequently, click on "Customize Installation" and thoroughly verify that pip, Python\'s standard package installer, is selected for installation. This ensures that you can easily manage Odoo\'s Python dependencies later.
PostgreSQL Database Configuration
Odoo exclusively relies on PostgreSQL as its database management system. Please download and install PostgreSQL, ensuring you use a supported version (12.0 or later) for full compatibility and stability.
By default, PostgreSQL includes a `postgres` user, but Odoo prevents direct connections using this highly privileged account for security reasons. Therefore, you must create a new dedicated PostgreSQL user specifically for Odoo:
- Add PostgreSQL’s
bindirectory (typicallyC:\Program Files\PostgreSQL\<version>\binon Windows) to your system’sPATHenvironment variable. This allows you to execute PostgreSQL commands from any directory. - Create a new PostgreSQL user with a strong password using the pgAdmin graphical interface:
- Open pgAdmin.
- Double-click the server entry to establish a connection to your PostgreSQL instance.
- In the browser tree, navigate to `Login/Group Roles` (under `Servers` -> `Your_Server` -> `Login/Group Roles`) and then select "Create" -> "Login/Group Role..." from the context menu.
- In the Role Name field, enter your desired username (e.g.,
odoo). - Switch to the Definition tab, input a strong password (e.g.,
odoofor development purposes, but use a secure one for production), and then click Save. - Finally, go to the Privileges tab and ensure that both "Can login?" is set to
Yesand "Create database?" is set toYes, granting the necessary permissions for Odoo to operate.
Installing Python Dependencies
Before installing Odoo\'s specific Python dependencies, you may need to install the Build Tools for Visual Studio, particularly if you encounter compilation errors for certain packages. During their installation, ensure you select "C++ build tools" in the Workloads tab. The comprehensive list of all required Odoo Python dependencies is precisely detailed in the `requirements.txt` file, which is located at the root of your Odoo Community directory.
Navigate to your Odoo Community installation directory (referred to as `CommunityPath` in the examples) in a terminal with Administrator privileges (on Windows) or `sudo` (on Linux), and then run pip on the requirements file:
C:\\> cd \\CommunityPath
C:\\> pip install setuptools wheel
C:\\> pip install -r requirements.txt
For supporting languages with a right-to-left (RTL) interface, such as Arabic or Hebrew, the `rtlcss` package is additionally needed for proper stylesheet processing:
- Download and install Node.js, which includes npm (Node Package Manager).
- Install `rtlcss` globally using npm from your terminal:
C:\\> npm install -g rtlcss - Edit your system\'s Environment `PATH` variable to include the directory where `rtlcss.cmd` (on Windows) or `rtlcss` (on Linux) is located (typically: `C:\Users\<user>\AppData\Roaming\npm\` on Windows or `/usr/local/bin` on Linux after global installation).
wkhtmltopdf is not automatically managed by pip during source installation. You must manually install version 0.12.5 to ensure proper and consistent support for headers and footers in generated PDF documents. Consult the Odoo wiki for detailed information on various versions and specific installation instructions for your operating system.
Running Odoo from Source
With all necessary dependencies and configurations meticulously in place, you are now ready to launch Odoo directly from its source code. The server\'s primary command-line interface, `odoo-bin`, is conveniently located at the root of your Odoo Community directory.
Server configuration can be flexibly managed either by providing specific command-line arguments directly when starting Odoo, or by utilizing a configuration file for more complex or persistent settings. This allows for tailored deployments based on your operational needs.
Common essential configurations typically include:
- Specifying the PostgreSQL database user and its corresponding password for database authentication.
- Defining custom addon paths, beyond the default locations, to enable Odoo to load your personalized modules and customizations.
A typical command to launch the Odoo server from your CommunityPath would look like this:
C:\\> cd CommunityPath/
C:\\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
Here, `CommunityPath` denotes the absolute path to your Odoo Community installation directory, `dbuser` is the PostgreSQL login username you created earlier, `dbpassword` is the PostgreSQL user\'s password, and `mydb` is the name you wish to assign to your new PostgreSQL database.
Once the server successfully initiates and you observe the INFO log message `odoo.modules.loading: Modules loaded.` in your terminal, open your preferred web browser and navigate to http://localhost:8069. You can then log in using the default base administrator account:
- Email: `admin`
- Password: `admin`
Congratulations! You have successfully logged into your very own Odoo database, ready to begin your operations or development work.
- From the intuitive Odoo web interface, you can proceed to create and manage new user accounts, assigning specific roles and permissions within your Odoo system.
- It\'s important to clearly differentiate between the Odoo web interface administrator account (e.g., `admin/admin`) and the PostgreSQL database user credentials specified by the
--db_usercommand-line argument. These are separate credentials for different system layers.
Docker Deployment
For users who prefer containerized environments for development, testing, or production deployment, Odoo provides a robust and officially supported Docker base image. This method leverages Docker\'s powerful ecosystem for streamlined setup, isolated environments, and simplified management of your Odoo instances.
Comprehensive documentation detailing how to effectively use Odoo with Docker, covering everything from basic setup and configuration to advanced deployment strategies for robust containerized Odoo instances, is available on the official Odoo Docker image page. This resource is invaluable for getting started and mastering Odoo within a Dockerized environment.
