Laravel 8 : Mengatur Environment Variable Agar Bisa Menjalankan Multiple Instance (Untuk Development)

Posted in Programming by Mokhamad Rofiudin on 5 months ago

#Docker #Laravel

 

Jika Anda seorang developer Laravel yang mengerjakan banyak project sekaligus pastinya ingin app-app tersebut bisa diakses bersamaan. Ketika ingin menjalankan beberapa instance sekaligus biasanya akan muncul error dikarenakan kesamaan port-port yang digunakan.

Contoh kasus misal Anda harus menjalankan 2 instance laravel. 1 Untuk API dan 1 nya untuk app yang consume API tersebut. App pertama berjalan dengan baik, ketika akan menjalankan app kedua maka muncul error dikarenakan "port is already allocated".

Solusinya adalah mengatur tiap instance agar menggunakan port-port yang berbeda.

Caranya cukup dengan menambahkan di environment variable, nilai port-port yang akan digunakan.
Untuk variable-variable apa saja bisa dilihat di file "docker-compose.yml".

Di file tersebut ada banyak variable yang bisa diubah via file .env.
Misalnya, di situ ada variable ${APP_PORT:-80} artinya variable APP_PORT mempunya nilai default 80.
Jika app Anda ingin berjalan di port selain 80 tinggal tambahkan variable APP_PORT=10009 di file .env Anda untuk membuat app Anda berjalan di port 10009.

Variable-variable lain di-antaranya yang sering digunakan adalah :

${FORWARD_DB_PORT:-3306}
${FORWARD_REDIS_PORT:-6379}
${FORWARD_MAILHOG_PORT:-1025}
${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}
 

Anda pun bisa mengganti value lain di file "docker-composer.yml" dan diganti menjadi variable kemudian tambahkan di file .env

Selamat mencoba :)

Lihat juga :

Laravel 8 : Cara Install Yang Elegant dan Handy-Dandy

Laravel 8 : Install Package Apt, Node, dan Lain-lain di Laravel Sail