Persiapan
Install Bun di server, clone repository aplikasi, dan pastikan domain mengarah ke IP VPS. Buat user deploy terpisah agar akses lebih aman.
Build & service systemd
Install dependency dengan bun install --frozen-lockfile, lalu bun run build untuk memproduksi asset produksi.
Buat unit systemd yang menjalankan bun run start dengan Environment=PORT=3000, WorkingDirectory mengarah ke folder aplikasi, dan Restart=always supaya aplikasi otomatis bangun saat crash maupun boot.
Nginx sebagai reverse proxy
Konfigurasi server block yang meneruskan semua request ke 127.0.0.1:3000. Aktifkan gzip, dan jangan biarkan Nginx meng-cache halaman HTML — asset ber-hash di /assets justru boleh di-cache lama karena immutable.
Verifikasi
Cek status service dengan systemctl status, uji header respons dengan curl, dan pastikan hanya satu proses yang mendengarkan port 3000. Setelah itu, update aplikasi cukup dengan script deploy yang menjalankan pull, install, build, lalu restart service.
Butuh Bantuan dengan Proyek Laravel?
Saya siap membantu, konsultasi awal gratis via WhatsApp.