Instalasi dan Konfigurasi Proyek Laravel dengan Laravel Sail

27 Februari 2025
  ·  

3 menit  ·   15 kali baca

Salah satu tantangan umum saat memulai proyek Laravel adalah menyiapkan development environment yang stabil dan konsisten sejak awal.

Nah, di sinilah Laravel Sail hadir sebagai solusi!

Laravel Sail merupakan CLI (Command Line Interface) ringan berbasis Docker yang mempermudah proses setup development environment proyek Laravel.

Dengan Laravel Sail, kita bisa langsung fokus ke pengembangan tanpa harus repot mengatur dependency dan konfigurasi environment secara manual—bahkan jika belum pernah menggunakan Docker sekalipun.

Pada artikel ini, kita akan mempelajari cara melakukan instalasi dan konfigurasi proyek Laravel dengan Laravel Sail.

Instalasi Proyek Laravel dengan Laravel Sail

  1. Pertama, pastikan Docker Engine sudah di-install pada komputer. Jika belum, silakan ikuti panduan instalasi pada dokumentasi Docker: Instalasi Docker Engine.

    Pada halaman tersebut, pilih sistem operasi yang digunakan (Windows, macOS, atau Linux) dan ikuti langkah-langkah yang disediakan.

  2. Buka Terminal, lalu jalankan perintah berikut:

    curl -s "https://laravel.build/k7i-blogs?with=pgsql" | bash
    
    • Perintah ini akan membuat proyek Laravel baru bernama k7i-blogs.
    • Parameter ?with=pgsql menambahkan service PostgreSQL ke dalam container Laravel Sail sebagai driver database default untuk proyek ini.
  3. Proses instalasi akan berjalan dan mungkin membutuhkan waktu beberapa saat.

  4. Setelah itu, kita mungkin diminta memasukkan password untuk menyesuaikan permission pada direktori proyek.

  5. Setelah proses instalasi selesai, pindah ke direktori proyek dengan menjalankan perintah berikut:

    cd k7i-blogs
    
  6. Jalankan perintah berikut untuk memulai container:

    ./vendor/bin/sail up
    

    Untuk menjalankan container dalam mode detached (background), tambahkan flag -d, sebagai berikut:

    ./vendor/bin/sail up -d
    
  7. Buka browser dan akses http://localhost untuk melihat halaman default Laravel.

  8. Tunggu! Mengapa kita malah menemukan halaman error seperti ini?

    Illuminate\Database\QueryException
    SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "sessions" does not exist
    

    Tenang… ini terjadi karena Laravel mencoba mengakses database, namun tabel-tabel yang dibutuhkan belum dibuat. Untuk itu, kita perlu menjalankan migrasi database (akan dibahas nanti).

    Untuk mengatasinya, cukup jalankan perintah berikut di Terminal:

    ./vendor/bin/sail artisan migrate
    
  9. Setelah itu, coba kembali ke browser dan refresh halaman. Sekarang, kita seharusnya sudah bisa melihat halaman default Laravel! 🎉

Menyesuaikan Timezone Laravel ke Zona Waktu Lokal

Secara default, Laravel menggunakan UTC sebagai timezone. Namun, agar pengaturan waktu di database dan aplikasi sesuai dengan zona waktu lokal, kita bisa mengubahnya menjadi Asia/Jakarta.

Berikut adalah langkah-langkah yang dapat diikuti:

  1. Buka proyek pada code editor atau IDE.
  2. Buka file config/app.php.
  3. Sesuaikan nilai timezone dari UTC menjadi Asia/Jakarta.
    📄 config/app.php
    'timezone' => 'Asia/Jakarta',
    

Konfigurasi Alias untuk Perintah Sail

Seiring dengan proses pengembangan kedepannya, kita akan sering menggunakan perintah sail. Agar lebih praktis, kita bisa menambahkan alias pada file konfigurasi shell di direktori home.

Buka Terminal, lalu jalankan perintah berikut (sesuaikan dengan file konfigurasi shell yang tersedia):

  • Bash: ~/.bashrc

    echo "alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'" >> ~/.bashrc
    
  • Zsh: ~/.zshrc

    echo "alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'" >> ~/.zshrc
    

Setelah itu, tutup dan buka kembali Terminal untuk menerapkan perubahan.

Mulai sekarang, kita cukup menulis perintah sail tanpa harus mengetik ./vendor/bin/sail lagi.



Selamat! 🎉 Proyek Laravel kita sudah siap dikembangkan lebih lanjut tanpa perlu konfigurasi environment secara manual.

Pada artikel berikutnya, kita akan mengenal bagaimana Laravel menyusun struktur aplikasi melalui konsep MVC (Model-View-Controller). Tetap semangat!

Instalasi dan Konfigurasi Proyek Laravel dengan Laravel Sail
Top