Introduction
Hello Everyone, I want to share with you guys about my experience in Odoo Development. In this article i will specifically share about the installation process for odoo17 in docker so we doesn't need to install too much dependencies.
Advantage and disadvantages using odoo docker
Advantage:
-
Simple installation progress.
Without docker we need to install a lot of dependencies, setting user, etc.
Disadvatage:
-
Hard to change the dependencies.
In docker it is hard for us to change the dependencies. For example in Odoo 17.0 docker version it uses wkhtmltopdf v0.12.6 but it has bug where the header for invoice is invisible So we must downgrade it to wkhtmltopdf v0.12.5.
Create the docker compose file
First we need to create the compose.yml
file in the root folder. We need to first configure the odoo docker image version according to available versions from this documentation. In this tutorial I am using odoo:17.0 and make the odoo forward the port to 10017. Because Odoo is using postgreSQL as their db we can also add postgre db to the compose file.
Here is the example compose.yml
code:
version: '3.1'
services:
web:
image: odoo:17.0 # Configure docker image version
user: root
depends_on:
- db
tty: true
ports:
- "10017:8069"
volumes: # Configure Volumes
- ./logs:/etc/odoo-logs/
- ./config:/etc/odoo/ # Odoo Config Path
- ./odoo_github/addon_custom:/mnt/extra-addons
environment:
- HOST=db
- USER=odoo
- PASSWORD=strongpassword # Should be the same as PG DB
db:
image: postgres:16
environment: # Configure DB
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=strongpassword
- POSTGRES_DB=postgres
- PGDATA=/var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
- odoo-db-data:/var/lib/postgresql/data/pgdata
volumes:
odoo-web-data:
odoo-db-data:
Create the odoo.conf
File
We should also create the odoo.conf
file for odoo configuration. For the conf file location should be placed according to the compose file, if you follow this tutorial the location will be on config/odoo.conf
. This file is used to configure the Odoo setting for example the master password, odoo app port, addons path, log path, etc. For more information about odoo configuration file you can check this out.
Here is the example odoo.conf
:
[options]
data_dir = /etc/odoo
admin_passwd = easypassword
dev_mode = reload
xmlrpc_port = 8069
logfile = /etc/odoo-logs/odoo-server.log
addons_path = /mnt/extra-addons
Running the docker
To run the docker we can simply run the code below.
docker compose up -d
After running the docker you can go to the browser and enter http://localhost:10017. If everything is okay you should be able to see this page below.
Project Path
Below is the project path for this entire tutorial.
root
|
├── compose.yml
|
├── config
| └── odoo.conf
|
└── logs
└── odoo-server.log
Final words
This is the end of odoo docker installation tutorial. If you want the git code base you can get it here. I will continue the tutorial in the next article about getting started in odoo.
Top comments (0)