---
title: "Cara Deploy Laravel ke Helipod dalam 5 Menit"
url: "https://helipod.io/blog/cara-deploy-laravel-ke-helipod"
date: "2026-04-19"
updated: "2026-04-19"
author: "Tim Helipod"
tags: ["laravel", "php", "tutorial", "deployment"]
excerpt: "Step by step cara deploy Laravel ke Helipod tanpa setup server, nginx, atau Dockerfile. Termasuk PostgreSQL, migrasi, dan storage:link."
---

# Cara Deploy Laravel ke Helipod dalam 5 Menit

Deploy Laravel ke production seringkali jadi momok bagi banyak developer. Setup VPS, install nginx, konfigurasi PHP-FPM, buat Dockerfile, belum lagi kalau ada masalah SSL atau permission. Helipod hadir untuk menghilangkan semua itu.

Dengan Helipod, kamu connect repo → set env vars → klik deploy. Selesai. Helipod menggunakan **Helipack** untuk otomatis mendeteksi bahwa project kamu adalah Laravel dan generate Dockerfile yang optimal, termasuk pilihan antara **FrankenPHP** (PHP 8.2+) atau **Nginx + PHP-FPM** sebagai fallback.

## Yang Kamu Butuhkan

Sebelum mulai, pastikan kamu sudah punya:

- Akun Helipod (daftar gratis di [helipod.io](https://helipod.io))
- Repository Laravel di GitHub atau GitLab
- File `.env` yang sudah dikonfigurasi

## Langkah 1: Connect Repository

Login ke dashboard Helipod, klik **New Project**, lalu pilih repository Laravel kamu dari GitHub atau GitLab. Helipod otomatis mendeteksi bahwa ini adalah project Laravel.

Setelah repository terhubung, kamu akan melihat service card muncul di canvas dengan status **Building**.

## Langkah 2: Konfigurasi Environment Variables

Masuk ke tab **Variables** pada service panel di sebelah kanan. Klik **+ New variable** dan masukkan environment variables dari file `.env` kamu:

```env
APP_KEY=base64:xxxxx
APP_ENV=production
APP_DEBUG=false
DB_CONNECTION=pgsql
DB_HOST=nama-service-postgres
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=postgres
DB_PASSWORD=secret
```

> **Tips:** Untuk `DB_HOST`, gunakan nama service database yang kamu deploy di Helipod. Semua service dalam satu project bisa saling berkomunikasi via **internal network**: format hostname-nya adalah nama pod yang kamu beri saat membuat service. Baca lebih lanjut di [Panduan Internal Network Helipod](/blog/internal-network-pod-to-pod-helipod).

> **Keamanan:** Variable di Helipod **dienkripsi at rest** dan di-inject langsung ke container saat runtime, tidak pernah muncul di build logs. Untuk file sensitif seperti service account JSON, gunakan tab **Secrets**.

## Langkah 3: Tambahkan Database (Opsional)

Jika aplikasi kamu butuh database, klik **+** di canvas untuk menambah service baru dan pilih **PostgreSQL**. Database akan otomatis terhubung ke jaringan internal yang sama dengan service Laravel kamu.

Setelah PostgreSQL running, catat nama service-nya dan gunakan sebagai `DB_HOST` di step 2.

## Langkah 4: Deploy

Klik tombol **Deploy** di pojok kanan atas panel. Helipod akan:

1. Clone repository kamu
2. Detect framework → Laravel terdeteksi
3. Generate Dockerfile optimal (FrankenPHP untuk PHP 8.2+)
4. Build Docker image dengan Helipack
5. Push ke internal registry
6. Deploy ke cluster Kubernetes
7. Setup domain dan SSL otomatis

Kamu bisa memantau prosesnya secara real-time di tab **Deployments** → **Build logs**.

Seluruh proses biasanya selesai dalam **2-3 menit**.

## Langkah 5: Jalankan Migrasi

Setelah deploy berhasil dan status berubah menjadi **LIVE**, buka tab **Terminal** dan jalankan:

```bash
php artisan migrate --force
php artisan storage:link
```

> **Catatan:** Jika kamu menggunakan Laravel Octane dengan Swoole, Helipack akan otomatis mendeteksinya dan generate Dockerfile yang sesuai, termasuk konfigurasi worker dan port yang tepat.

## Kustomisasi dengan helipack.json (Opsional)

Jika kamu butuh override konfigurasi default, buat file `helipack.json` di root repository:

```json
{
  "run": {
    "port": 8000,
    "before": "php artisan migrate --force"
  },
  "health": {
    "path": "/",
    "duration": 15
  },
  "packages": {
    "apk": ["ffmpeg", "imagemagick"]
  }
}
```

Dengan `run.before`, kamu bisa otomatis jalankan migrasi setiap kali deployment baru, tanpa perlu manual masuk ke terminal.

Baca selengkapnya di [Panduan helipack.json](/blog/helipack-json-konfigurasi).

## Verifikasi

Buka URL yang diberikan Helipod di tab **Settings → Networking & Domains** (format: `nama-project.helipod.app`) dan pastikan aplikasi kamu berjalan dengan benar.

Kamu juga bisa pantau performa aplikasi di tab **Metrics**: CPU usage, Memory, Uptime, dan jumlah Restarts tersedia real-time.

## Troubleshooting Umum

**Build gagal dengan error "composer install failed"**
Pastikan file `composer.json` dan `composer.lock` ada di root repository. Helipod menggunakan `composer.lock` untuk reproducible builds.

**Error "APP_KEY not set"**
Generate APP_KEY dengan `php artisan key:generate --show` di local, lalu copy hasilnya ke Variables di Helipod.

**Database connection refused**
Pastikan `DB_HOST` menggunakan nama service PostgreSQL di Helipod (bukan `localhost` atau IP). Cek nama service di canvas dashboard.

**Storage tidak bisa ditulis**
Jalankan `php artisan storage:link` dari tab Terminal setelah deploy pertama. Untuk persistent storage, tambahkan volume mount di **Settings → Storage Volumes**.

## Kesimpulan

Deploy Laravel ke Helipod tidak membutuhkan pengetahuan DevOps yang dalam. Cukup connect repo, set environment variables, dan klik deploy. Semua urusan infrastruktur, server, container, SSL, health check, ditangani Helipod.

Ingin tahu lebih tentang cara Helipod generate Dockerfile untuk Laravel? Baca [Cara Helipack Generate Dockerfile Otomatis](/blog/helipack-dockerfile-otomatis).

Punya pertanyaan? Hubungi kami di [support@helipod.io](mailto:support@helipod.io) atau bergabung ke komunitas di [hangar.helipod.io](https://hangar.helipod.io).
