🔥 Siap, berikut ini rencana **final changelog untuk `install-osrm-ngpm.sh v4.6`**, biar kamu tahu persis apa yang akan saya implementasikan sebelum saya keluarkan skrip lengkapnya:
---
## 🧩 **install-osrm-ngpm.sh v4.6 — Production Ready Edition**
Menyediakan **satu bash script tunggal (`install-osrm-ngpm.sh`)** untuk mengelola *lifecycle* OSRM (Open Source Routing Machine) environment berbasis Docker pada sistem **Rocky Linux 10**.
* Deteksi otomatis `arg[0]` atau variabel bermasalah di file profile `.lua`.
Skrip ini bersifat:
* Patch jadi aman (`local profile_name = "car"`).
* Berlaku untuk semua profile (`car`, `motorcycle`, `bicycle`, `foot`, dll).
✅ **Sequential Routing Preparation**
***Idempotent** → aman dijalankan berulang kali.
***Modular** → bisa install, update, dan remove secara terpisah untuk backend, frontend, profil, dan map.
***Self-contained** → tidak memerlukan konfigurasi eksternal manual selain argumen CLI.
***Interactive** → menggunakan prompt CLI konfirmasi (bukan `dialog`).
***Auto dependency check** → instalasi otomatis bila memungkinkan.
* Preprocessing tetap jalan satu per satu untuk menghindari OOM/CPU spikes.
---
* Setelah preprocessing sukses → otomatis buat **`osrm-routed-*` service** di `docker-compose.yml`.
* Jika preprocess gagal → skip pembuatan service & tampilkan log merah `[FAILED]`.
✅ **Docker Compose Update Logic**
## 2. Struktur Direktori Default
* Template `docker-compose.yml` disusun modular.
| Komponen | Path | Keterangan |
* Section `services:` akan diupdate otomatis jika profil bertambah.