Design and Implementation of an Odoo Community Node Architecture

Odoo is a comprehensive and open-source Enterprise Resource Planning (ERP) platform designed to help organizations manage and integrate their core business processes efficiently. By offering a wide range of modular applications, Odoo enables businesses to streamline operations, improve productivity, and support data-driven decision-making within a single, unified system.

Odoo is an integrated ERP system that provides a comprehensive set of applications for managing various business functions within a single platform. This article aims to guide users through the fundamental concepts and practical steps required to effectively use Odoo, enabling a structured and efficient implementation process.

Article below begin by covering the installation process, followed by a detailed walkthrough of essential modules and practical tips to help you get started with Odoo efficiently.

Diagram Topology

1. Initial Preparation (Apply to All Nodes)

The following steps must be performed on all nodes within the Odoo infrastructure environment to ensure system consistency, stability, and compatibility before proceeding with the installation.

1.1 Update Operating System Packages

Ensure that all system packages are up to date:

1.2 Configure System Time Zone

Set the system time zone to ensure consistent log timestamps and proper service synchronization:

2. Install and Configure Database Node 1 (192.168.148.131)

PostgreSQL Database Server Installation

This node is dedicated to running PostgreSQL, which serves as the central database backend for the Odoo Community application.

2.1 Install PostgreSQL

Install PostgreSQL from the official Ubuntu repository:

2.2 Verify PostgreSQL Service Status

Ensure that the PostgreSQL service is running properly:

The service status should display active (running).

2.3 Create a Dedicated Database User for Odoo

Log in to the PostgreSQL console as the postgres superuser:

Create a database user for Odoo and grant database creation privileges:

2.4 Configure PostgreSQL to Listen on Network Interfaces

Edit the PostgreSQL configuration file:

Edit konfigurasi PostgreSQL:

sudo nano /etc/postgresql/*/main/postgresql.conf

Modify the following parameter:

This allows PostgreSQL to accept connections from remote application servers.

2.5 Configure Client Authentication

Edit the client authentication configuration file:

sudo nano /etc/postgresql/*/main/pg_hba.conf

Add the following rule to allow access from the internal network:

2.6 Restart PostgreSQL Service

Apply the configuration changes by restarting PostgreSQL:

sudo systemctl restart postgresql

3. Instal Odoo Community Node 2 (192.168.145.131)

Install dependency

3.1 Install wkhtmltopdf

Odoo requires wkhtmltopdf to generate PDF reports (invoices, quotations, and other documents).

Install wkhtmltopdf using the official Ubuntu repository:

3.2 Create Odoo System User

For security and operational best practices, Odoo must run under a dedicated system user.

Create the Odoo system user and group:

This command will:

  • Create a system user named odoo
  • Set /opt/odoo as the home directory
  • Create a dedicated group odoo
  • Prevent interactive login for security purposes

3.3 Set Directory Ownership

Ensure that the Odoo directory is owned by the odoo user:


3.4 Download Odoo Community

sudo su – odoo
sudo git clone https://www.github.com/odoo/odoo –branch 19.0 –depth 1 /opt/odoo/odoo

3.5 Install Python Requirements

  • Install Python Virtual Environment Package

Ensure the Python virtual environment module is installed:

2. Switch to the Odoo System User

All Odoo-related operations must be executed under the dedicated odoo user.

  • Create Python Virtual Environment

Create a virtual environment inside the Odoo home directory:

  • Activate the Virtual Environment

Activate the virtual environment:


The shell prompt will change to indicate the virtual environment is active, for example:

  • Install Python Dependencies

Navigate to the Odoo source directory and install Python requirements:

(venv) root@odooserver:/opt/odoo/odoo# pip install -r odoo/requirements.txt

4. Configure Odoo

4.1 Create the Odoo Configuration File

The Odoo configuration file should be created before starting the Odoo service and must be owned by the odoo system user.

Create and open the configuration file:

sudo nano /etc/odoo.conf

Set Correct Ownership and Permissions

Ensure the configuration file is owned by the odoo user:

4.2 Create Log Directory

Odoo requires a dedicated log directory.

4.3 Create Odoo systemd Service

The Odoo service allows Odoo Community to run as a background service and start automatically on system boot.

Create the Service File

Create and open the systemd service file:

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

5. Odoo Service Configuration

Add the following content to the service file:

Enable service:

Check Odoo status with command

6. Accessing Odoo from a Web Browser

After completing the Odoo installation and service configuration, Odoo can be accessed through a web browser.

Access URL

Open a web browser and navigate to: http://192.168.145.134:8069/web/database/selector

Odoo Initial Database Creation Screen

The displayed page is the Odoo Database Manager interface.
This screen appears automatically when Odoo is accessed for the first time and no database has been created yet.

This confirms that:

  • The Odoo service is running correctly
  • The application can connect to PostgreSQL
  • Network routing and service configuration are working as expected

Explanation of the Warning Message

“Your Odoo database manager is not protected…”

This warning indicates that the Odoo master password (admin_passwd) has not yet been set manually in the configuration file.

Odoo automatically generates a temporary master password:

tad4-c7pb-sqx3

This password is required for:

  • Creating databases
  • Restoring databases
  • Dropping databases


Professional System Administrator Services
I offer comprehensive installation and configuration services to support your IT infrastructure needs, including:

  • Web Server: Installation and optimization to ensure your website runs securely and reliably using platforms such as Apache and NGINX.

  • Mail Server: Deployment and configuration of email servers including Microsoft 365, Carbonio (Zimbra), and Google Workspace.

  • Hosting Control Panel: Installation and setup of modern hosting control panels to simplify server management.

  • Content Management System (CMS): Installation of WordPress, Joomla, or other platforms for efficient content management.

  • Static Web Applications: Setup and configuration of web-based applications tailored to your business needs.

  • Server/Website Migration: Secure data and application migration with no downtime.

📩 Contact me for consultation or service inquiries.
Email: contact@mursidin.net

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *