Deploying Odoo ERP on Ubuntu 20.04 LTS (Focal Fossa)
Odoo is a business management software, including different modules such as CRM, billing, e-commerce, warehouse, website builder, inventory management, and accounting. The software is distributed in an open-code model, providing a free Community Edition, released under the GNU LGPLv3 software license. The source code of the Community Edition is available on the company’s GitHub. Besides the free and open-source Community Edition, a proprietary “Enterprise” version provides additional features and services.
The modular design of Odoo allows developers to create additional modules or apps and distribute them through the Odoo marketplace, which provides more than 20,000 modules. This makes Odoo a versatile and customizable solution that can be adapted to many usage scenarios.
This tutorial will show you how to deploy Odoo 16 on a Scaleway machine running Ubuntu Focal Fossa (20.04 LTS). This could be a Dedibox, an Instance or an Elastic Metal server.
You may need certain IAM permissions to carry out some actions described on this page. This means:
- you are the Owner of the Scaleway Organization in which the actions will be carried out, or
- you are an IAM user of the Organization, with a policy granting you the necessary permission sets
- You have an account and are logged into the Scaleway console
- You have configured your SSH Key
- You have one of the following remote machines running Ubuntu Focal Fossa (20.04 LTS):
- You have sudo privileges or access to the root user
- You have configured an A-record pointing to your server’s IP address
Log in to your remote machine using SSH:ssh root@<remote_machine_ip>Note:
If you are logging into a Dedibox server, you may not be able to log in as root but rather as the user you created during installation. In this case you may need to prefix commands in this tutorial with
aptsources lists and upgrade the software already installed on the machine to the latest version available in Ubuntu’s repositories:apt update && apt upgrade -y
Download and install the Odoo GPG key:wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
Add the Odoo repository to the
aptpackage manager via the
odoo.listconfiguration file: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
aptpackage manager to add the new repository & install Odoo using
apt:apt update && apt install odoo
Open an Internet browser on your local computer and point it to
http://<your_remote_machine_ip>:8069. The Odoo installation wizard displays:
Enter the following information in the form:
- Master Password: The master password for the Odoo database. By default an auto-generated value is pre-filled. You can change it to your own desired password if required.
- Database Name: A name for the Odoo PostgreSQL database
- Email: The email address of the admin user. It will also be used as an identifier to connect to Odoo
- Password: A strong password for the Odoo admin user
- Phone number: Your phone number
- Language: Select the language for the Odoo web interface
- Country: Select your country from the drop-down list
- Demo data: Tick this box to fill up the Odoo database with demo data. This feature can be useful for testing the application.
Once all data is filled in, click Create database to create the Odoo database and your first login. The application dashboard displays:
(Optional): Click the Install button next to each app you want to install automatically on your Odoo server. You can see more details about each application by clicking on the Learn More button.
To navigate around your installed apps, click the mosaic button in the top left corner and select your application from the list:
Odoo CRM module:
Odoo Discuss module with activated e-learning module:
Setting up Nginx as a HTTPS Proxy
By default, the Odoo web server uses a plain HTTP connection to transport data. To make connections to the application more secure, we configure the Nginx web server as an HTTPS-proxy that will act as front-end for Odoo.
Install Nginx and
apt:apt install nginx certbot python3-certbot-nginx
Create a Nginx configuration file:Important:
In this and future steps, be sure to replace
odoo.example.comwith your Odoo domain namenano /etc/nginx/sites-available/odoo.example.com
Activate the site by creating a symlink in the
sites-enableddirectory:ln -s /etc/nginx/sites-available/odoo.example.com /etc/nginx/sites-enabled/
certbotto request a new certificate and configure Nginx. Follow the instructions given during the certificate request:certbot --nginx
Open the file
/etc/odoo/odoo.confin a text editor and add the following lines to it to enable Proxy mode in Odoo and restrict connections to the application to
localhostonly, for security reasons:nano /etc/odoo/odoo.conf[options][...]proxy_mode = Truexmlrpc_interface = 127.0.0.1netrpc_interface = 127.0.0.1
Restart Odoo:systemctl restart odoo.service
You can now access your Odoo via a secure HTTPS connection at
To go further, refer to the official Odoo documentation.