Iman Sugirman

Setup Laravel Octane Deploy Ke Fly.io

26 Juli 2022

Laravel Octane Menggunakan Server fly.io Semakin Cepat yang lain makin ketinggalan Karena Laravel octane sangat Cepat. begitulah Octane Bekerja. Ditenagai Server Swoole dan dikombinasikan dengan Nginx Server.

Sekarang kita akan Mulai dengan Installasi Laravel terbaru :

Jika anda Menggunakan Composer

composer create-project laravel/laravel example-app

Lalu pergi ke project directory anda yaitu example-app dengan cara :

cd example-app

Mulai Install Laravel Octane

Nah Jika project sudah dibuat sekarang kita install Package Laravel Octane :

composer require laravel/octane

Dan Octane Harus diinstall dengan cara :

php artisan octane:install

Maka akan membuat file config/octane.php silahkan tentukan Ingin menggunakan Swoole atau RoadRunner saya menyarankan menggunakan Swoole karna lebih cepat sedikit dibanding RoadRunner. Tetapi kembali lagi ke preferensi masing-masing.

Hati-hati ketika menggunakan Laravel Octane maka resiko beberapa package pihak ke tiga ada yang belum kompatible

Jika anda menggunakan Swoole maka silahkan install terlebih dahulu Swoole :

pecl install openswoole

Setelah menginstall Octane maka beberapa setup di .env harus ditetapkan ketika anda ingin menggunakan Swoole atau RoadRunner

OCTANE_HTTPS=true OCTANE_SERVER=swoole

Dan coba sekarang jalankan di Local menggunakan :

php artisan octane:start --watch

Setup Install Fly.io

Untuk membuat Server fly io diharapkan install flyctl yaitu cli dari fly.io untuk memudahkan anda berinteraksi dengan server.

Jika anda belum mendaftar silahkan mendaftar ke website fly.io dan menginstall CLI

Jika menggunakan Brew :

brew install flyctl

Jika Menggunakan Shell Script :

curl -L https://fly.io/install.sh | sh

Lalu login ke Fly dashboard menggunakan cli dengan cara :

flyctl auth login

Saatnya Laravel Octane Terbang

Untuk mendeploy Aplikasi Laravel cukup mudah, sebelum mendeploy anda diharapkan menggunakan Docker Desktop dan bisa anda download di Docker Website agar nanti prosesnya mudah.

Posisi Ke Project yang sudah anda buat

cd ...project

Lalu mulai membuat Web App di Fly :

flyctl launch

nanti akan muncul pertanyaan dan auto deteksi bahwa project kita menggunakan Laravel. dan masukan nama Apps nya. dan ketika ada pertanyaan ingin deploy sekarang ? silahkan jawab No karna kita harus mensetup dulu docker nya nanti di server fly.io

Lalu cek di folder docker dan anda akan menemukan file supervisor.conf silahkan uncomment dibagian [program:octane]

Jika anda menggunakan swoole maka pengaturannya seperti ini :

[program:octane] user=app priority=5 autostart=true autorestart=true stdout_events_enabled=true stderr_events_enabled=true ;rr command=php -d variables_order=EGPCS /var/www/html/artisan octane:start --server=roadrunner --host=0.0.0.0 --rpc-port=6001 --port=8000 command=php -d variables_order=EGPCS /var/www/html/artisan octane:start --server=swoole --host=0.0.0.0 --port=8000 stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0

Dan sekarang silahkan Deploy menggunakan :

flyctl deploy