Mendeploy Laravel 11 Inertia Vue ke Coolify menggunakan Docker Compose (dengan dan tanpa SSR)
September 16, 2024 (2mo ago)
Mendeploy Laravel 11 Inertia Vue ke Coolify menggunakan Docker Compose (dengan dan tanpa SSR)
Dalam panduan komprehensif ini, kita akan membahas proses mendeploy aplikasi Laravel 11 dengan Inertia dan Vue.js ke Coolify menggunakan Docker Compose. Kita akan membahas setup Server-Side Rendering (SSR) dan non-SSR, memungkinkan Anda memilih opsi terbaik untuk proyek Anda.
Prasyarat
Sebelum kita mulai, pastikan Anda memiliki hal-hal berikut:
Aplikasi Laravel 11 dengan Inertia dan Vue.js yang sudah disetup
Akun Coolify dan server yang sudah disetup
Langkah 1: Menyiapkan Konfigurasi Docker
Pertama, kita perlu membuat file Dockerfile dan docker-compose.yaml di root proyek Laravel Anda.
Dockerfile
Buat file Dockerfile dengan konten berikut:
docker-compose.yaml
Buat file docker-compose.yaml dengan konten berikut:
Jika Anda tidak menggunakan SSR, biarkan service ssr tetap dikomentari. Jika Anda menggunakan SSR, hilangkan komentar pada blok service ssr.
Langkah 2: Membuat File Konfigurasi Tambahan
docker-entrypoint.sh
Buat file docker-entrypoint.sh di root proyek Anda:
.dockerignore
Buat file .dockerignore di root proyek Anda:
node_modules
vendor
.git
.idea
Konfigurasi Apache
Buat file di docker/apache/000-default.conf:
Konfigurasi PHP
Buat file di docker/php/custom.ini:
Langkah 3: Menyiapkan Aplikasi Laravel Anda
Jika Anda menggunakan SSR, pastikan Anda telah mengatur Inertia SSR dengan benar di aplikasi Laravel Anda.
Modifikasi app/Providers/AppServiceProvider.php Anda untuk memaksa penggunaan HTTPS di produksi:
Perubahan ini memastikan bahwa semua URL yang dihasilkan oleh aplikasi Anda di produksi akan menggunakan HTTPS.
Langkah 4: Deploy ke Coolify
Masuk ke dashboard Coolify Anda.
Hubungkan repositori Git Anda ke Coolify.
Buat proyek baru dan pilih "Docker Compose" sebagai metode deployment.
Di pengaturan proyek Coolify, pastikan untuk mengatur variabel lingkungan berikut:
DB_HOST: Atur ini ke nama service database Anda di file Docker Compose (mis., db)
DB_DATABASE: Nama database Anda
DB_USERNAME: Username database Anda
DB_PASSWORD: Password database Anda
Variabel lingkungan spesifik lainnya yang dibutuhkan aplikasi Anda di .env
Konfigurasi pengaturan deployment:
Atur nama container
Atur nama domain
Atur perintah post-deployment berikut:
php artisan storage:link
Perintah ini akan membuat symlink dari public/storage ke storage/app/public.
Simpan konfigurasi Anda dan deploy aplikasi Anda.
Langkah 5: Tugas Pasca-Deployment
Setelah berhasil di-deploy, pergi ke tab Command. Jalankan perintah berikut:
php artisan migrate --force
Perintah ini akan menjalankan migrasi database Anda, memastikan skema database Anda up to date.
Kesimpulan
Anda sekarang telah berhasil mendeploy aplikasi Laravel 11 Inertia Vue ke Coolify menggunakan Docker Compose, dengan opsi untuk setup SSR dan non-SSR. Konfigurasi ini menyediakan infrastruktur yang dapat diskalakan dan mudah dikelola untuk aplikasi Anda.
Poin-poin penting yang perlu diingat:
Modifikasi AppServiceProvider memastikan penggunaan HTTPS di lingkungan produksi.
Perintah php artisan storage:link dijalankan sebagai tugas pasca-deployment untuk mengatur linking storage yang tepat.
Migrasi database dijalankan menggunakan tab Command Coolify setelah deployment.
Ingatlah untuk memantau kinerja dan log aplikasi Anda, dan lakukan penyesuaian seperlunya untuk mengoptimalkan operasinya di lingkungan produksi. Jika Anda menggunakan SSR, perhatikan layanan SSR untuk memastikan berjalan dengan lancar dan memberikan manfaat kinerja yang diharapkan.