Kustomisasi konfigurasi Laravel Sail untuk menambahkan PhpMyAdmin
Halo semuanya, apa kabar? Semoga semuanya dalam keadaan baik ya. Kali ini kita akan belajar mengenai sedikit kustomisasi pada laravel Sail untuk menambahkan kontainer PhpMyAdmin.
Beberapa waktu yang lalu saya kembali belajar untuk mengembangkan web dengan basis framework Laravel. Pada ekosistem Laravel kini memiliki Sail yang digunakan untuk membuat dev environment berbasis docker. Saya tertarik untuk mencoba menggunakannya.
Sebuah masalah ditemui ketika ingin mengelola database melalui GUI, karena tidak disediakan Web GUI untuk database MySql yang digunakan. Jadi saya mencoba untuk melakukan semacam kustomisasi agar bisa menambahkan kontainer PhpMyAdmin.
Agar mempersingkat kita akan langsung ke bagian kustomisasinya saja ya. Dan asumsinya sudah cukup paham secara mendasar mengenai docker dan docker compose. Kali ini Laravel yang digunakan adalah versi 8 dan Sail yang digunakan versi 1.0.1
Ketika sudah menambahkan Laravel Sail, akan ada file konfigurasi docker compose pada root directory dengan isi seperti di bawah :
Kemudian, kita perlu menambahkan baris untuk konfigurasi PhpMyAdmin di bawah konfigurasi untuk database MySql seperti berikut :
Beberapa hal yang perlu diperhatikan adalah :
- Image
Image yang digunakan adalah phpmyadmin dengan tag (versi) 5.0, sesuikan sesuai kebutuhan.
2. Forward Port (Host Port)
Port yang digunakan haruslah yang tidak terpakai, sebagai contoh di sini digunakan port 8080 agar tidak konflik dengan port yang digunakan HTTP server di port 80
3. Network
Nama network yang digunakan harus sama dengan yang digunakan oleh web server dari Sail, yaitu sail.
4. Dependency (depends on)
Karena kontainer ini akan bergantung pada database, yaitu mysql, maka instance dari database tersebut perlu ditambahkan sebagai dependency.
Hasil akhir dari file konfigurasi docker compose dari Sail akan menjadi seperti berikut :
Setelah selesai menambahkan konfigurasi, maka waktunya untuk menjalankannya. Kita bisa menjalankannya dengan menggunakan command
./vendor/bin/sail up -d --build
Jika semua kontainer sudah berjalan maka kita bisa membuka Web GUI dari PhpMyAdmin (PMA) pada browser pada port yang kita konfigurasi tadi. Di sini bisa dibuka pada port 8080.
Untuk login kita bisa menggunakan credential sebagai berikut :
- Server
Gabungan dari nama directory dari proyek atau local repository kita dan nama dari container database dengan format directory_database_no. Di sini nama directory adalah sail-pma, lalu database nya mysql, lalu nomor container 1.
Untuk mempermudah, kita bisa melihat nama container yang sedang berjalan dengan command :
docker-compose ps
2. Username
Untuk Username kita perlu menyamakan dengan value DB_USERNAME pada file .env dari laravel yang biasanya diubah oleh Sail menjadi sail.
3. Password
Kemudian pada bagian password kita perlu menyamakan dengan value DB_PASSWORD pada file .env dari laravel yang biasanya diubah oleh Sail menjadi password.
Penutup
Laravel Sail memudahkan untuk membuat dev environment, namun pada beberapa kasus tertentu kita perlu menambahkan kontainer lain agar menjadi dev environment yang lengkap sesuai kebutuhan. Pada kesempatan kali ini kita telah belajar untuk menambahkan PhpMyAdmin ke dalam konfigurasi bawaan dari Laravel Sail. semoga tulisan kali ini bermanfaat. Sampai jumpa di tulisan selanjutnya. Salam.