Cara Setup Odoo dengan Docker
Docker memudahkan kita menjalankan Odoo tanpa perlu install Python, PostgreSQL, dan dependency lainnya secara manual di sistem. Cukup dengan docker compose, Odoo bisa langsung jalan dalam hitungan menit. Berikut langkah-langkahnya.
Prasyarat
Pastikan Docker dan Docker Compose sudah terinstall di komputer/server kamu. Cek dengan:
docker --version
docker compose version
Kalau belum ada, install dulu Docker mengikuti panduan resmi di docs.docker.com.
Membuat docker-compose.yml
Buat folder project, misalnya odoo-docker, lalu buat file docker-compose.yml di dalamnya:
mkdir odoo-docker && cd odoo-docker
Isi docker-compose.yml dengan konfigurasi berikut:
version: '3.8'
services:
db:
image: postgres:15
environment:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
POSTGRES_DB: postgres
volumes:
- odoo-db-data:/var/lib/postgresql/data
odoo:
image: odoo:19
depends_on:
- db
ports:
- "8069:8069"
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
volumes:
- odoo-web-data:/var/lib/odoo
- ./addons:/mnt/extra-addons
volumes:
odoo-db-data:
odoo-web-data:
Penjelasan singkat:
- Service
dbmenjalankan PostgreSQL sebagai database Odoo. - Service
odoomenjalankan image resmi Odoo, terhubung ke database lewat variabelHOST. - Folder
./addonsdi-mount ke/mnt/extra-addons, tempat kita nanti menaruh custom module. - Volume
odoo-db-datadanodoo-web-datamenyimpan data database dan filestore agar tidak hilang saat container di-restart.
Menjalankan Container
Jalankan dengan perintah:
docker compose up -d
Cek status container:
docker compose ps
Kalau statusnya Up, berarti Odoo sudah berjalan.
Membuka Odoo di Browser
Buka browser dan akses http://localhost:8069. Odoo akan menampilkan halaman untuk membuat database baru — isi nama database, email, dan password admin, lalu klik “Create database”.
Setelah database dibuat, kamu akan langsung masuk ke dashboard Odoo dan siap digunakan.
Menambahkan Custom Module
Untuk mengembangkan module sendiri, cukup taruh folder module-nya di dalam ./addons yang sudah kita mount tadi. Setelah itu restart container agar Odoo membaca ulang addons path:
docker compose restart odoo
Lalu install module lewat menu Apps di Odoo (aktifkan dulu mode developer di Settings > General Settings > Developer Tools > Activate the developer mode, lalu klik “Update Apps List”).
Menghentikan dan Menghapus Container
Untuk menghentikan Odoo tanpa menghapus data:
docker compose stop
Untuk menghapus container beserta volume (data akan hilang, gunakan hati-hati):
docker compose down -v
Penutup
Dengan Docker Compose, setup Odoo jadi jauh lebih simpel dan reproducible — cukup satu file konfigurasi, semua environment (database, addons, port) sudah terdefinisi rapi. Cocok untuk eksperimen lokal maupun basis untuk deployment produksi (dengan tambahan reverse proxy dan tuning tentunya).