✅ 1. Prerequisites
You only need:
Install Docker
sudo apt update
sudo apt install docker.io docker-compose -y
Check installation:
docker --version
docker-compose --version
✅ 2. Create folder structure
Choose a directory for your Odoo project:
mkdir -p ~/odoo19/custom_addons
mkdir -p ~/odoo19/config
mkdir -p ~/odoo19/filestore
cd ~/odoo19
Create an empty config file:
touch config/odoo.conf
[options]
addons_path = /mnt/extra-addons
db_host = db
db_port = 5432
db_user = odoo
db_password = odoo
✅ 3. Create the docker-compose.yml
Inside ~/odoo19, create:
nano docker-compose.yml
version: '3.1'
services:
db:
image: postgres:16
environment:
POSTGRES_DB: postgres
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
volumes:
- db-data:/var/lib/postgresql/data
restart: always
web:
image: odoo:19.0
depends_on:
- db
ports:
- "10019:8069"
environment:
HOST: db
USER: odoo
PASSWORD: odoo
volumes:
- ./config:/etc/odoo
- ./custom_addons:/mnt/extra-addons
restart: always
volumes:
db-data:
✅ 4. Start Odoo 19
Run:
docker-compose up -d
Check logs:
docker-compose logs -f web
Access Odoo in browser:
👉 http://localhost:10019
✅ 5. Where to put custom modules?
Place all your custom modules inside:
~/odoo19/custom_addons/
docker-compose restart web
✅ 6. PostgreSQL access
Connect to database:
docker exec -it odoo19_db_1 psql -U odoo
Check all running Docker containers
docker ps
Check version of library inside docker env
docker ps
docker exec -it <container_name_or_id> bash
wkhtmltopdf --version