Odoo Docker-composeでCustomization

docker-compose.yml

version: "3.1"

services:
  db:
    image: postgres:15
    container_name: odoo18-db
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=odoo
      - POSTGRES_PASSWORD=odoo
    ports:
    - "5432:5432"
    volumes:
      - odoo18-db-data:/var/lib/postgresql/data

  odoo:
    image: odoo:18.0
    container_name: odoo18
    depends_on:
      - db
    ports:
      - "8069:8069"
    environment:
      - HOST=db
      - USER=odoo
      - PASSWORD=odoo
    volumes:
      - ./addons:/mnt/extra-addons                                           # 自作アドオン
      - ./odoo.conf:/etc/odoo/odoo.conf
      - ./oca-addons:/mnt/oca-addons
 # ★ 追加(例:OCA/web)

volumes:
  odoo18-db-data:

odoo.conf

[options]
addons_path = /mnt/extra-addons,/mnt/oca-addons
admin_passwd = admin
db_host = db
db_port = 5432
db_user = odoo
db_password = odoo
log_level = info

ocaはコミュニティ版のアドオンをインストール

docker exec -it odoo18 bash
odoo –config=/etc/odoo/odoo.conf -d Odoo18 -i purchase_advance_payment※ –without-demo=all –no-http –log-level=debug

※purchase_advance_payment はインストールしたいモジュール名
addons配下に配置する

追記:odooをdockerで展開する方法

# プロジェクト用のディレクトリを作成
mkdir odoo18_project && cd odoo18_project

# docker-compose.yml と odoo.conf を配置
# (上記の内容をファイルにコピー)

# addons ディレクトリ(空でもOK)
mkdir addons

# コンテナ起動
docker-compose up -d

モジュールの追加

docker exec -it odoo18 bash 

odoo --config=/etc/odoo/odoo.conf -d Odoo18 -i purchase_advance_payment --without-demo=all --no-http --log-level=debug

VSCodeに標準モジュールを追加する方法追加

手順①:Dockerコンテナ内にログインしてpurchaseモジュールの場所を確認

docker exec -it odoo18 /bin/bash
find / -type d -name xxxx 2>/dev/null


手順②:ホストにコピー(別ターミナル)
docker cp odoo18:/usr/lib/python3/dist-packages/odoo/addons/xxxx ./odoo-core-copy/addons/xxxx

xxxxがモジュール名

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です