How To Install And Deploy Odoo 16 On Digitalocean

How To Install And Deploy Odoo 16 On Digitalocean

Dhaval Baldha

10 Jul 2024

5 MINUTES READ

Introduction

Deploying Odoo 16 on DigitalOcean can significantly enhance your business operations with a robust cloud infrastructure. DigitalOcean provides an easy-to-use platform with scalable cloud services. Here's a step-by-step guide to help you install and deploy Odoo 16 on DigitalOcean.

Step 1: Create a digitalOcean account

Start by registering a new account on DigitalOcean. You can sign up using Google, GitHub, or your email. Register here and add your payment information to get started.

Step 2: Create a droplet

Once your account is set up, click on ‘Let’s make something’ to create a new droplet. You can also access the Droplet creation page by navigating to the "Create" option in the upper right corner and selecting "Droplets."

If you don't have any Droplets yet, click on the large, blue "Get Started with a Droplet" button on the Resources tab.

Step 3: Choose an image

Select the operating system for your Droplet. For this guide, we recommend choosing Ubuntu 20.04 (LTS) x64.

Step 4: Choose a plan

Select the RAM, storage capacity, and CPU core count that best fits your needs.

Step 5: Choose a dataCenter region

Choose the data center region where you want to set up your Droplet.

Step 6: Set up SSH authentication

For secure access, select SSH key authentication. Click on "New SSH Key" and follow the instructions to add your public SSH key. Name your key and select "Add new SSH key."

Step 7: Finalize and create droplets

Name your Droplet and use tags for better organization. You can assign your Droplet to a project folder. Optionally, enable backups for data protection. Once done, click "Create Droplet."

Your Droplet's IP address will be displayed when it’s ready. Use the following command to establish a secure SSH connection:


    ssh root@your_IP_address           
    

Step 8: Update and upgrade packages

Log in to your Droplet and update the system packages:


    apt update
    apt upgrade -y               
    

Step 9: Install essential linux tools and dependencies

Install essential tools and dependencies:


    apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
    libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
    xz-utils tk-dev libffi-dev liblzma-dev python-openssl git libpq-dev libsasl2-dev libldap2-dev ccze node-less bash-completion                      
    

Step 10: Install postgreSQL 13

Install PostgreSQL 13:


    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
    echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
    apt update
    apt install -y postgresql-13 postgresql-client-13                         
    

Create a new PostgreSQL user and database:


    su - postgres
    createuser --interactive -P odoo
    createdb -O odoo codingdodo_demo
    exit                               
    

Step 11: Install wkhtmltopdf

Download and install wkhtmltopdf:


    wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
    apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb -y                         
    

Step 12: Create odoo user

Create a new user for Odoo:


    useradd -m -U -r -s /bin/bash odoo                     
    

Step 13: Log in to odoo user

Switch to the new Odoo user:


    su - odoo                   
    

Step 14: Create a virtual environment

Create a Python virtual environment:


    pyenv virtualenv 3.9.2 odoo-16-env                 
    

Step 15: Install odoo from gitHub source

Set up directories and clone the Odoo repository:


    mkdir /home/odoo/odoo-16-custom-addons
    cd /home/odoo/odoo-16-custom-addons
    git clone https://github.com/Coding-Dodo/web_widget_markdown.git
    cd ~/
    git clone -b 16.0 --single-branch --depth 1 https://github.com/odoo/odoo.git odoo-16
    cd odoo-16                     
    

Step 16: Install python dependencies

Install necessary Python dependencies:


    pip install --upgrade pip
    pip install setuptools wheel
    pip install -r requirements.txt -e .                     
    

Step 17: Create logs directory

Create a logs directory and set permissions:


    exit
    mkdir /var/log/odoo
    touch /var/log/odoo/odoo-16.log
    chown odoo: /var/log/odoo
    chown -R odoo: /var/log/odoo/*                      
    

Step 18: Create odoo 16 configuration file

Create and edit the Odoo 16 configuration file:


    sudo nano /etc/odoo16.conf                    
    

Step 19: Create systemd unit file

Create and edit the systemd service file:


    sudo nano /etc/systemd/system/odoo16.service               
    

Step 20: Run odoo 16 server

Start the Odoo 16 server:


    sudo systemctl daemon-reload
    sudo systemctl start odoo16              
    

Step 21: Install and configure nginx

Follow this guide to install and configure Nginx as a reverse proxy for Odoo: How to Configure Odoo with Nginx as Reverse Proxy.

Once Nginx is installed, restart the service:


    sudo systemctl restart nginx         
    

You can now log in to your Odoo 16 server on DigitalOcean and start setting up your Odoo instance.

By following this guide, you will have a fully functional Odoo 16 instance running on DigitalOcean, providing you with a powerful ERP solution for your business needs.

For more detailed instructions and support, visit Techvoot Solutions.

FAQ

Odoo 16 is a comprehensive suite of business applications, including CRM, eCommerce, accounting, inventory, and project management. It is designed to help businesses streamline their operations.

DigitalOcean offers scalable cloud infrastructure with ease of use, making it ideal for deploying Odoo 16. It ensures high performance and reliability for your business applications.

Before you begin, you need to create a DigitalOcean account, set up a Droplet, and have basic knowledge of Linux command-line operations.

Use SSH keys for authentication, keep your system packages updated, and configure a firewall to protect your Odoo 16 installation.

Yes, DigitalOcean provides backup options to prevent data loss. You can enable backups during Droplet creation or configure them later.

You can access your Odoo 16 instance via the IP address provided by DigitalOcean. Use a web browser to navigate to the IP address and log in to your Odoo instance.

Nginx acts as a reverse proxy server, enhancing the performance and security of your Odoo 16 instance. It manages incoming web traffic and distributes it to the appropriate application servers.

Dhaval Baldha
Dhaval Baldha

Co-founder

Dhaval is a visionary leader driving technological innovation and excellence. With a keen strategic mindset and deep industry expertise, he propels the company towards new heights. His leadership and passion for technology make him a cornerstone of Techvoot Solutions' success.

Linkedin
Hire Skilled Developer

*Please fill all the required fields

Get our Newsletter

Customized solutions for your projects

*Please fill all the required fields