Melanjutkan tulisan saya sebelumnya yaitu : Install Odoo 17 Menggunakan Docker.
Kali ini kita akan mencoba install beberapa odoo instance dengan satu database yang sama. Saya berasumsi kalian sudah sudah berhasil meng-install odoo menggunakan docker berdasarkan artikel saya sebelumnya.
Matikan Servis Docker Compose
Stop Servis Docker Composedocker compose -f docker-compose.yaml -f dev.yaml stop
Remove Docker Composedocker compose -f docker-compose.yaml -f dev.yaml down
Cek Service Docker Compose Terakhirdocker compose ps -l
Konfigurasi docker-compose.yaml
Untuk aplikasi odoo yang baru, kita perlu membuat servis docker dan volume baru.
version: "3.8"
services:
odoo-demo:
image: custom-odoo:17.0
container_name: odoo-demo
env_file: myenvfile.env
depends_on:
- postgres-demo
volumes:
- odoo1-data-demo:/var/lib/odoo
- ./config/odoo/demo:/etc/odoo
- ../../customize/odoo-demo/addons-customize:/mnt/addons-customize
- ../../customize/odoo-demo/addons-thirdparty:/mnt/addons-thirdparty
networks:
- demo_odoo_network
# odoo instance baru
odoo-demo1:
image: custom-odoo:17.0
container_name: odoo-demo1
env_file: myenvfile.env
depends_on:
- postgres-demo
volumes:
- odoo1-data-demo1:/var/lib/odoo
- ./config/odoo/demo1:/etc/odoo
- ../../customize/odoo-demo1/addons-customize:/mnt/addons-customize
- ../../customize/odoo-demo1/addons-thirdparty:/mnt/addons-thirdparty
networks:
- demo_odoo_network
# END odoo instance baru
postgres-demo:
image: postgres:15
container_name: postgres-demo
env_file: myenvfile.env
volumes:
- ./pg-data:/var/lib/pgsql/data/pgdata
- ./config/postgresql/postgresql.conf:/etc/postgresql/postgresql.conf:ro
networks:
- demo_odoo_network
# nginx-default:
# image: nginx:1.24.0
# container_name: nginx-default
# volumes:
# - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf
# depends_on:
# - odoo17-default
# networks:
# - default_odoo_network
volumes:
odoo1-data-demo:
# tambahkan volume untuk odoo baru
odoo1-data-demo1:
networks:
demo_odoo_network:
name: demo_odoo_network
driver: bridge
Ubah Konfigurasi Extension
Selanjutnya, kita akan mengkonfigurasi file docker-compose extension (dev.yam & prod.yaml). Sebagai contoh, saya
hanya akan mengubah konfigurasi dev.yaml untuk menambahkan servis dan mengkonfigurasi port yang akan digunakan servis
odoo-demo1.
version: "3.8"
services:
odoo-demo:
restart: unless-stopped
ports:
- "8069:8069"
# servis odoo baru
odoo-demo1:
restart: unless-stopped
ports:
- "8070:8069"
# END servis odoo baru
postgres-demo:
restart: unless-stopped
ports:
- "5433:5432"
# nginx-demo:
# restart: no
# ports:
# - "81:80"
Copy folder Konfigurasi Odoo
Sekarang kita copy folder demo yang berada di docker-odoo\conf\odoo-demo\config\odoo\demo, lalu paste dengan
nama demo1. Untuk saat ini, samakan saja isi file tersebut dengan sebelumnya, atau bisa juga di ubah sesuai
dengan kebutuhan.
Tambahkan Modul Kustomisasi Odoo
Lalu kita tambahkan modul kustomisasi Odoo di folder customize. Untuk saat ini, saya akan copy folder odoo-demo
lalu mengganti namanya menjadi odoo-demo1. Atau, bisa disesuaikan juga dengan kebutuhan kalian.
Jalan Kembali Servis Docker
Buat Servis Docker Compose Barudocker compose -f docker-compose.yaml -f dev.yaml up -d
Kesimpulan
Menginstall banyak odoo instance menggunakan satu database cocok untuk skenario berikut:
- Punya banyak project odoo
- Punya banyak project odoo dengan versi berbeda-beda
- Ingin mencoba odoo versi lain
- Tidak ingin menginstall Odoo langsung di mesin lokal kalian
- Membuat struktur folder lebih efisien
Terima Kasih!