There are multiple ways to install Odoo, or not install it at all, depending on the intended use case.
This documents attempts to describe most of the installation options.
- Online
- The easiest way to use Odoo in production or to try it.
- Packaged installers
- Suitable for testing Odoo, developing modules and can be used for long-term production use with additional deployment and maintenance work.
- Source Install
- Provides greater flexibility: e.g. allow multiple running Odoo versions on the same system. Good for developing modules, can be used as base for production deployment.
- Docker
- If you usually use docker for development or deployment, an official docker base image is available.
Editions
There are two different Editions of Odoo: the Community and Enterprise versions. Using the Enterprise version is possible on our SaaS and accessing the code is restricted to Enterprise customers and partners. The Community version is freely available to anyone.
If you already use the Community version and wish to upgrade to Enterprise, please refer to From Community to Enterprise (except for Source Install).
Online
Demo
To simply get a quick idea of Odoo, demo instances are available. They are shared instances which only live for a few hours, and can be used to browse around and try things out with no commitment.
Demo instances require no local installation, just a web browser.
SaaS
Trivial to start with, fully managed and migrated by Odoo S.A., Odoo’s SaaS provides private instances and starts out free. It can be used to discover and test Odoo and do non-code customizations (i.e. incompatible with custom modules or the Odoo Apps Store) without having to install it locally.
Can be used for both testing Odoo and long-term production use.
Like demo instances, SaaS instances require no local installation, a web browser is sufficient.
Packaged installers
Odoo provides packaged installers for Windows, deb-based distributions (Debian, Ubuntu, …) and RPM-based distributions (Fedora, CentOS, RHEL, …) for both the Community and Enterprise versions.
These packages automatically set up all dependencies (for the Community version), but may be difficult to keep up-to-date.
Official Community packages with all relevant dependency requirements are available on our nightly server. Both Communtiy and Enterprise packages can be downloaded from our download page (you must to be logged in as a paying customer or partner to download the Enterprise packages).
Windows
- Download the installer from our nightly server (Community only) or the Windows installer from the download page (any edition)
Run the downloaded file
Warning
on Windows 8, you may see a warning titled “Windows protected your PC”. Click More Info then Run anyway
- Accept the UAC prompt
- Go through the various installation steps
Odoo will automatically be started at the end of the installation.
Linux
Debian/Ubuntu
Odoo 12.0 ‘deb’ package currently supports Debian Stretch, Ubuntu 18.04 or above.
Prepare
Odoo needs a PostgreSQL server to run properly. The default configuration for the Odoo ‘deb’ package is to use the PostgreSQL server on the same host as your Odoo instance. Execute the following command as root in order to install PostgreSQL server :
# apt-get install postgresql -y
In order to print PDF reports, you must install wkhtmltopdf yourself: the version of wkhtmltopdf available in Debian repositories does not support headers and footers so it is not used as a direct dependency. The recommended version is 0.12.5 and is available on the wkhtmltopdf download page, in the archive section. Previously recommended version 0.12.1 is a good alternative. More details on the various versions and their respective quirks can be found in our wiki.
Repository
Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can be used to install Odoo Community Edition by executing the following commands as root:
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/12.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
# apt-get update && apt-get install odoo
You can then use the usual apt-get upgrade
command to keep your installation up-to-date.
At this moment, there is no repository for the Enterprise Edition.
Deb Package
Instead of using the repository as described above, the ‘deb’ package can be downloaded here:
You can then use gdebi
:
# gdebi <path_to_installation_package>
Or dpkg
:
# 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 will install Odoo as a service, create the necessary PostgreSQL user and automatically start the server.
Warning
The 3 following python packages are only suggested by the Debian package. Those packages are not available in Ubuntu Xenial (16.04).
- python3-vobject: Used in calendars to produce ical files.
- python3-pyldap: Used to authenticat users with LDAP.
- python3-qrcode: Used by the hardware driver for ESC/POS
If you need one or all of the packages mentioned in the above warning, you can install them manually. One way to do it, is simply using pip3 like this:
$ sudo pip3 install vobject qrcode
$ sudo apt install libldap2-dev libsasl2-dev
$ sudo pip3 install pyldap
Warning
Debian 9 and Ubuntu do not provide a package for the python module num2words. Textual amounts will not be rendered by Odoo and this could cause problems with the “l10n_mx_edi” module.
If you need this feature, you can install the python module like this:
$ sudo pip3 install num2words
Fedora
Odoo 12.0 ‘rpm’ package supports Fedora 26. As of 2017, CentOS does not have the minimum Python requirements (3.5) for Odoo 12.0.
Prepare
Odoo needs a PostgreSQL server to run properly. Assuming that the ‘sudo’ command is available and configured properly, run the following commands :
$ sudo dnf install -y postgresql-server
$ sudo postgresql-setup --initdb --unit postgresql
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql
In order to print PDF reports, you must install wkhtmltopdf yourself: the version of wkhtmltopdf available in Debian repositories does not support headers and footers so it is not used as a direct dependency. The recommended version is 0.12.5 and is available on the wkhtmltopdf download page, in the archive section. Previously recommended version 0.12.1 is a good alternative. More details on the various versions and their respective quirks can be found in our wiki.
Repository
Odoo S.A. provides a repository that can be used with the Fedora distibutions. It can be used to install Odoo Community Edition by executing the following commands:
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/12.0/nightly/rpm/odoo.repo
$ sudo dnf install -y odoo
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
RPM package
Instead of using the repository as described above, the ‘rpm’ package can be downloaded here:
Once downloaded, the package can be installed using the ‘dnf’ package manager:
$ sudo dnf localinstall odoo_12.0.latest.noarch.rpm
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
Source Install
The source “installation” is really about not installing Odoo, and running it directly from source instead.
This can be more convenient for module developers as the Odoo source is more easily accessible than using packaged installation (for information or to build this documentation and have it available offline).
It also makes starting and stopping Odoo more flexible and explicit than the services set up by the packaged installations, and allows overriding settings using command-line parameters without needing to edit a configuration file.
Finally it provides greater control over the system’s set up, and allows to more easily keep (and run) multiple versions of Odoo side-by-side.
Windows
Fetch the sources
There are two ways to obtain the source code of Odoo: as a zip archive or through git.
Archive
Community Edition:
Enterprise Edition:
Git
The following requires git to be installed on your machine and that you have basic knowledge of git commands.
Community Edition:
C:\> git clone https://github.com/odoo/odoo.git
Enterprise Edition: (see Editions to get access)
C:\> git clone https://github.com/odoo/enterprise.git
Note
The Enterprise git repository does not contain the full Odoo source code. It is only a collection of extra add-ons. The main server code is in the Community version. Running the Enterprise version actually means running the server from the Community version with the addons-path option set to the folder with the Enterprise version. You need to clone both the Community and Enterprise repository to have a working Odoo Enterprise installation.
Prepare
Python
Odoo requires Python 3.5 or later to run. Use the the official Python 3 installer to download and install Python 3 on your machine.
During installation, check Add Python 3 to PATH, then click Customize Installation and make sure that pip is checked.
Note
If Python 3 is already installed, make sure that it is 3.5 or above, as previous versions are not compatible with Odoo.
C:\> python3 --version
Verify also that pip is installed for this version.
C:\> pip3 --version
PostgreSQL
Odoo uses PostgreSQL as database management system. Download and install the latest version of PostgreSQL.
By default, the only user is [UNKNOWN NODE title_reference] but Odoo forbids connecting as [UNKNOWN NODE title_reference], so you need to create a new PostgreSQL user:
- Add PostgreSQL’s [UNKNOWN NODE title_reference] directory (by default: [UNKNOWN NODE title_reference]) to your [UNKNOWN NODE title_reference].
Create a postgres user with a password using the pg admin gui:
- Open pgAdminIII.
- Double-click the server to create a connection.
- Select .
- Enter the username in the Role Name field (e.g. [UNKNOWN NODE title_reference]).
- Open the Definition tab and enter the password (e.g.
odoo
), then click OK.
Dependencies
Odoo dependencies are listed in the [UNKNOWN NODE title_reference] file located at the root of the Odoo community directory. Most of them can be installed with pip.
Tip
It can be preferable to not mix python modules packages between different instances of Odoo or with your system. You can use virtualenv to create isolated Python environments.
Navigate to the path of your Odoo Community installation ([UNKNOWN NODE title_reference]) and run pip on the requirements file:
C:\> cd \YourOdooCommunityPath
C:\YourOdooCommunityPath> C:\Python35\Scripts\pip.exe install -r requirements.txt
Warning
Some dependencies cannot be installed through pip and require to be installed manually. In particular:
- [UNKNOWN NODE title_reference] must be installed with this installer.
- [UNKNOWN NODE title_reference] must be installed in version 0.12.5 for it to support headers and footers. See our wiki for more details on the various versions.
For languages with right-to-left interface (such as Arabic or Hebrew), the package [UNKNOWN NODE title_reference] is needed:
- Download and install nodejs.
Install [UNKNOWN NODE title_reference]:
C:\> npm install -g rtlcss
- Edit the System Environment’s variable [UNKNOWN NODE title_reference] to add the folder where [UNKNOWN NODE title_reference] is located (typically: [UNKNOWN NODE title_reference]).
Running Odoo
Once all dependencies are set up, Odoo can be launched by running [UNKNOWN NODE title_reference], the command-line interface of the server. It is located at the root of the Odoo Community directory.
To configure the server, you can either specify command-line arguments or a configuration file.
Tip
For the Enterprise edition, you must add the path to the [UNKNOWN NODE title_reference] addons to the [UNKNOWN NODE title_reference] argument. Note that it must come before the other paths in [UNKNOWN NODE title_reference] for addons to be loaded correctly.
Common necessary configurations are:
- PostgreSQL user and password.
- Custom addon paths beyond the defaults, to load your own modules.
A typical way to run the server would be:
C:\YourOdooCommunityPath> python3 odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
Where [UNKNOWN NODE title_reference] is the path of the Odoo Community installation, [UNKNOWN NODE title_reference] is the
PostgreSQL login, [UNKNOWN NODE title_reference] is the PostgreSQL password
and [UNKNOWN NODE title_reference] is the default database to serve on [UNKNOWN NODE title_reference]. You can add other
directory paths separated by a comma to addons
at the end of the addons-path option.
Linux
Fetch the sources
There are two ways to obtain the source code of Odoo: as a zip archive or through git.
Archive
Community Edition:
Enterprise Edition:
Git
The following requires git to be installed on your machine and that you have basic knowledge of git commands.
Community Edition:
$ git clone https://github.com/odoo/odoo.git
Enterprise Edition: (see Editions to get access)
$ git clone https://github.com/odoo/enterprise.git
Note
The Enterprise git repository does not contain the full Odoo source code. It is only a collection of extra add-ons. The main server code is in the Community version. Running the Enterprise version actually means running the server from the Community version with the addons-path option set to the folder with the Enterprise version. You need to clone both the Community and Enterprise repository to have a working Odoo Enterprise installation.
Prepare
Python
Odoo requires Python 3.5 or later to run. Use your package manager to download and install Python 3 on your machine if it is not already done.
Note
If Python 3 is already installed, make sure that it is 3.5 or above, as previous versions are not compatible with Odoo.
$ python3 --version
Verify also that pip is installed for this version.
$ pip3 --version
PostgreSQL
Odoo uses PostgreSQL as database management system. Use your package manager to download and install the latest version of PostgreSQL.
By default, the only user is [UNKNOWN NODE title_reference] but Odoo forbids connecting as [UNKNOWN NODE title_reference], so you need to create a new PostgreSQL user:
$ sudo -u postgres createuser -s $USER
$ createdb $USER
Note
Because your PostgreSQL user has the same name as your Unix login, you will be able to connect to the database without password.
Dependencies
Odoo dependencies are listed in the [UNKNOWN NODE title_reference] file located at the root of the Odoo community directory. Most of them can be installed with pip.
Tip
It can be preferable to not mix python modules packages between different instances of Odoo or with your system. You can use virtualenv to create isolated Python environments.
Navigate to the path of your Odoo Community installation ([UNKNOWN NODE title_reference]) and run pip on the requirements file:
$ cd /YourOdooCommunityPath
/YourOdooCommunityPath$ pip3 install -r requirements.txt
Warning
For libraries using native code (Pillow, lxml, greenlet, gevent, psycopg2, ldap), it may be necessary to install development tools and native dependencies before pip is able to install the dependencies themselves. These are available in [UNKNOWN NODE title_reference] or [UNKNOWN NODE title_reference] packages for Python, PostgreSQL, libxml2, libxslt, libevent, libsasl2 and libldap2.
Warning
Some dependencies cannot be installed through pip and require to be installed manually. In particular:
For languages with right-to-left interface (such as Arabic or Hebrew), the package [UNKNOWN NODE title_reference] is needed:
- Download and install nodejs and npm with your package manager.
Install [UNKNOWN NODE title_reference]:
$ sudo npm install -g rtlcss
Running Odoo
Once all dependencies are set up, Odoo can be launched by running [UNKNOWN NODE title_reference], the command-line interface of the server. It is located at the root of the Odoo Community directory.
To configure the server, you can either specify command-line arguments or a configuration file.
Tip
For the Enterprise edition, you must add the path to the [UNKNOWN NODE title_reference] addons to the [UNKNOWN NODE title_reference] argument. Note that it must come before the other paths in [UNKNOWN NODE title_reference] for addons to be loaded correctly.
Common necessary configurations are:
- PostgreSQL user and password. Odoo has no defaults beyond psycopg2’s defaults: connects over a UNIX socket on port [UNKNOWN NODE title_reference] with the current user and no password.
- Custom addon paths beyond the defaults, to load your own modules.
A typical way to run the server would be:
/YourOdooCommunityPath$ python3 odoo-bin --addons-path=addons -d mydb
Where [UNKNOWN NODE title_reference] is the path of the Odoo Community installation
[UNKNOWN NODE title_reference] is the default database to serve on [UNKNOWN NODE title_reference]. You can add other
directory paths separated by a comma to addons
at the end of the addons-path option.
Mac OS
Fetch the sources
There are two ways to obtain the source code of Odoo: as a zip archive or through git.
Archive
Community Edition:
Enterprise Edition:
Git
The following requires git to be installed on your machine and that you have basic knowledge of git commands.
Community Edition:
$ git clone https://github.com/odoo/odoo.git
Enterprise Edition: (see Editions to get access)
$ git clone https://github.com/odoo/enterprise.git
Note
The Enterprise git repository does not contain the full Odoo source code. It is only a collection of extra add-ons. The main server code is in the Community version. Running the Enterprise version actually means running the server from the Community version with the addons-path option set to the folder with the Enterprise version. You need to clone both the Community and Enterprise repository to have a working Odoo Enterprise installation.
Prepare
Python
Odoo requires Python 3.5 or later to run. Use your preferred package manager (homebrew, macports) to download and install Python 3 on your machine if it is not already done.
Note
If Python 3 is already installed, make sure that it is 3.5 or above, as previous versions are not compatible with Odoo.
$ python3 --version
Verify also that pip is installed for this version.
$ pip3 --version
PostgreSQL
Odoo uses PostgreSQL as database management system. Use postgres.app to download and install the latest version of PostgreSQL.
By default, the only user is [UNKNOWN NODE title_reference] but Odoo forbids connecting as [UNKNOWN NODE title_reference], so you need to create a new PostgreSQL user:
$ sudo -u postgres createuser -s $USER
$ createdb $USER
Note
Because your PostgreSQL user has the same name as your Unix login, you will be able to connect to the database without password.
Dependencies
Odoo dependencies are listed in the [UNKNOWN NODE title_reference] file located at the root of the Odoo community directory. Most of them can be installed with pip.
Tip
It can be preferable to not mix python modules packages between different instances of Odoo or with your system. You can use virtualenv to create isolated Python environments.
Navigate to the path of your Odoo Community installation ([UNKNOWN NODE title_reference]) and run pip on the requirements file:
$ cd /YourOdooCommunityPath
/YourOdooCommunityPath$ pip3 install -r requirements.txt
Warning
Non-Python dependencies need to be installed with a package manager:
Warning
Some dependencies cannot be installed through pip and require to be installed manually. In particular:
For languages with right-to-left interface (such as Arabic or Hebrew), the package [UNKNOWN NODE title_reference] is needed:
Docker
The full documentation on how to use Odoo with Docker can be found on the official Odoo docker image page.