For those looking to establish an Odoo server, utilizing Docker offers a highly efficient and contained solution. This method allows you to set up your Odoo instance within minutes via the command line, leveraging the power of "containerization." By isolating the Odoo server in a virtual Docker environment, you ensure that it operates without impacting other services or configurations on your host system.
Why Choose Docker for Odoo and OCA Modules?
Employing Docker for Odoo installations presents numerous advantages. It provides a practical, swift, and secure approach for testing and development, though it is robust enough to support full production environments. The ability to containerize Odoo simplifies dependency management and ensures consistent environments across different machines.
This guide outlines the fundamental steps, primarily tailored for Ubuntu operating systems, but the process can be readily adapted for macOS or Windows environments.
Prerequisites and Setup Steps
-
Install Docker and Docker Compose
The initial step requires you to install Docker Engine and Docker Compose on your system. These powerful tools form the backbone of your containerized Odoo setup, enabling you to define and run multi-container Docker applications.
-
Create the Directory Structure
Next, establish the necessary directory structure for your Odoo installation. For organizational purposes, we will assume your base installation directory will be named
odoo. Execute the following commands in your terminal:mkdir odoo && cd odoo mkdir -p ./volumes/postgres ./volumes/odoo/addons ./volumes/odoo/filestore \ ./volumes/odoo/sessionsThis command sequence creates the primary
odoodirectory and nested subdirectories essential for storing PostgreSQL data, custom Odoo addons, the filestore, and session data, ensuring data persistence and a clean separation of concerns. -
Configure
docker-compose.ymlWithin your newly created
odoodirectory, you will need to create adocker-compose.ymlfile. This configuration file defines the services, networks, and volumes for your Odoo and PostgreSQL containers, orchestrating their interaction.version: '3.3' services: postgres: image: postgres:9.5 volumes: - ./volumes/postgres:/var/lib/postgresql/data environment: - POSTGRES_USER=odoo odoo: image: elicocorp/odoo:10.0 command: start ports: - 127.0.0.1:8069:8069 volumes: - ./volumes/odoo/addons:/opt/odoo/additional_addons - ./volumes/odoo/filestore:/opt/odoo/data/filestore - ./volumes/odoo/sessions:/opt/odoo/data/sessions links: - postgres:db environment: - ADDONS_REPO=https://github.com/OCA/business-requirement.git - ODOO_DB_USER=odooThe
ADDONS_REPOenvironment variable in the Odoo service configuration is particularly important. It specifies the GitHub repository for the OCA business-requirement modules, enabling Odoo to automatically fetch and integrate these modules upon startup. -
Launch Your Containers
Once the
docker-compose.ymlfile is correctly configured, you can initiate your Odoo and PostgreSQL containers. Navigate to yourodoodirectory in the terminal and execute the following command:docker-compose up -d odooThe
-dflag instructs Docker Compose to run the containers in detached mode, allowing them to operate in the background while you continue using your terminal. -
Access Odoo in Your Web Browser
After the containers have successfully launched, open your preferred web browser and navigate to the URL configured in your
docker-compose.ymlfile. In this specific example, the address ishttp://127.0.0.1:8069. -
Create a New Database
Upon your first access to the Odoo instance, you will be prompted to create a new database. Follow the on-screen instructions to configure and initialize your primary Odoo database for managing your business operations.
-
Update the Addons List
To ensure that Odoo discovers all available modules, including those fetched from the OCA repository, you must update the addons list. First, activate developer mode within Odoo. Then, navigate through the menu to
Apps > Update Apps List. -
Install Business Requirements Modules
Finally, with the addons list refreshed, you are ready to install the desired OCA modules. Locate and install the "Business Requirements" modules directly from the
Appsmenu within your Odoo interface.
Further Enhancements and Customization
To further refine and customize your Odoo Docker environment, including adjusting parameters or modifying default passwords for enhanced security and functionality, consult the comprehensive official documentation. This resource provides detailed guidance on advanced configurations and best practices for optimizing your Odoo deployment with Docker.
