Mencoba login ke Odoo pasca instalasi dengan docker compose
Jika sebelumnya saya telah install Odoo dengan standar minimum dan pendekatan paling mudah yaitu dengan docker compose di artikel ini https://undebugable.blogspot.com/2026/07/instalasi-odoo-di-local-dengan-docker.html.
| Halaman login Odoo dengan docker compose CLI |
Saat pertama kali menginstall Odoo pada artikel sebelumnya, user admin yang tersedia untuk login adalah user admin dengan password admin, admin/admin itu diset oleh Odoo sendiri saat inisialisasi database pertama kali, bukan dari .env.
![]() |
| Programmer ERP sedang bekerja dengan Odoo |
- --without-demo=all tidak menghapus user admin awal.
- Kalau DB/volume dihapus lalu dibuat ulang, akun default muncul lagi.
- Setelah login pertama, sebaiknya langsung ganti password admin.
Instalasi pada artikel sebelumnya ini bisa dikatakan adalah Odoo kosongan (clean start), bersih tanpa data demo.
Di docker-compose.yml, service odoo-init menjalankan:
-i base(hanya install module inti base)--without-demo=all(jangan load demo data untuk module yang di-install saat init)
Artinya saat bootstrap database pertama, Odoo tidak isi sample customer/order/product/demo user.
Seberapa kosong saat mulai:
Ada:
- struktur database Odoo
- user admin awal
- metadata wajib sistem (groups, access rights inti, country/currency/lang bawaan, company default)
Tidak ada:
- transaksi bisnis demo (SO/PO/Invoice)
- sample contact/customer/vendor
- sample product/stock/employee/project (kecuali nanti kamu install module tertentu dan isi manual)
Jadi pada titik ini, adalah titik awal yang bagus untuk belajar:
- user management
- security rules
- multi-company/multi-tenant
Umumnya saat kita telah berhasil menginstall aplikasi berbasis web maka halaman awal yang akan kita temui adalah halaman Login page yang memiliki akses user dan password defaultnya, pada kasus Odoo ini username dan password adalah admin/admin.
![]() |
| Odoo login page |
| Halaman Log In Odoo dengan pilihan Log In atau "Log In as superuser" |
Keberadaan dua jenis login di awal ini memang fitur yang sering bikin bingung di awal, di Odoo ada dua "mode" akses:
Ini dipakai untuk administrasi tingkat tinggi/troubleshooting, bukan kerja harian.
Menurut dokumentasi Odoo 17, tombol Log in as superuser itu memang alternatif untuk masuk ke superuser mode dari layar login.
Kenapa Odoo kasih dua opsi ini? Karena kebutuhan berbeda:
- Keamanan operasional sehari-hari: user harus dibatasi oleh role/rule.
- Recovery / emergency admin: kadang rule salah konfigurasi bikin admin "terkunci"; mode superuser diperlukan untuk memperbaiki.
Kapan pakai masing-masing?
- Pakai Log in untuk aktivitas normal (sales, inventory, accounting, dll).
- Pakai Log in as superuser hanya saat:
- mengoreksi access rights/rules yang rusak
- tugas teknis yang memang butuh bypass policy
- investigasi masalah permission
- Bisa lihat/ubah data lintas batas yang normalnya diblok.
- Salah ubah rule/group bisa bikin kondisi "impotent admin" (tidak ada user yang bisa memperbaiki rights lagi).
Kesimpulannya di Odoo, tombol Log in dipakai untuk masuk sebagai pengguna normal sehingga semua hak akses dan batasan data tetap berlaku sesuai role user, sedangkan Log in as superuser dipakai untuk masuk dalam mode khusus yang melewati batasan hak akses dan record rules, biasanya hanya untuk kebutuhan administrasi atau perbaikan konfigurasi keamanan yang bermasalah, jadi untuk penggunaan harian sebaiknya tetap memakai Log in biasa karena lebih aman.
Pada halaman login awal milik Odoo juga terdapat link menarik disana yaitu "Manage Databases" yang bila di klik akan menuju ke halaman http://localhost:8069/web/database/manager.
Manage Databases itu adalah halaman Database Manager Odoo (level server), bukan fitur bisnis harian di dalam satu database. Di sana bisa create, duplicate, backup, restore, rename, atau delete database Odoo, jadi fungsinya untuk administrasi instance Odoo secara global.
| Button Manage Database |
| Halaman Manage Database |
| Koneksi via DBeaver ke PostgreSQL (postgres/odoo_dev_password_change_me) |
| Pastikan pilih Show all databases |
| Koneksi di .env |
| SELECT count(*) FROM information_schema.tables WHERE table_type = 'BASE TABLE'; |
| Inspect Form Login |
| Login request pada network console |
| Login request pada network console |
| Login request pada network console |
| Cookies: session_id |
| Cookies: session_id |
Dari snapshot Network di atas, mekanisme login Odoo terlihat bekerja dengan pola web yang rapi dan aman. Prosesnya dimulai saat browser mengirim POST /web/login setelah tombol Log in ditekan. Server lalu membalas dengan status 303 See Other dan mengarahkan browser ke Location: /web. Ini bukan error, justru tanda bahwa kredensial diterima dan server meminta browser pindah ke halaman utama aplikasi.
Di snapshot berikutnya, terlihat GET /web mendapat status 200 OK. Artinya sesi login sudah valid, sehingga user bisa masuk ke web client Odoo dan asset seperti web.assets_* mulai dimuat. Jadi urutannya jelas: submit login, redirect, lalu masuk dashboard.
Konfirmasi paling kuat ada di tab Cookies: session_id pada request lama berbeda dengan session_id pada response. Ini menunjukkan server melakukan pembaruan sesi saat autentikasi berhasil. Dengan kata lain, Odoo tidak hanya menerima login, tapi juga membuat sesi baru yang kemudian dipakai untuk request berikutnya. Dari seluruh snapshot, alurnya konsisten: login sukses, sesi aktif, dan akses ke /web berjalan normal.
| User Log In ke Odoo Dashboard |


Comments
Post a Comment