---
title: "Cara Migrate dari Vercel ke Helipod: Full-Stack tanpa Batasan"
url: "https://helipod.io/blog/migrate-vercel-ke-helipod"
date: "2026-06-03"
updated: "2026-06-03"
author: "Tim Helipod"
tags: ["migrate", "vercel", "migration guide", "next.js", "full-stack", "helipod"]
excerpt: "Vercel bagus untuk frontend, tapi terbatas untuk backend dan database? Migrate ke Helipod, full-stack deployment, bayar Rupiah, tanpa kartu kredit."
---

# Cara Migrate dari Vercel ke Helipod: Full-Stack tanpa Batasan

Vercel adalah pilihan populer untuk deploy Next.js dan frontend frameworks. Tapi banyak developer yang akhirnya sadar: **Vercel hanya untuk frontend**. Butuh backend always-on? Database? Queue workers? Kamu harus pakai layanan tambahan, dan masing-masing punya biaya sendiri.

Helipod adalah alternatif **full-stack** yang mendukung frontend, backend, dan database dalam satu platform, dan **bayar Rupiah tanpa kartu kredit**.

Artikel ini menjelaskan cara migrate dari Vercel ke Helipod.

## Kenapa Migrate dari Vercel?

### Keterbatasan Vercel

| Fitur | Vercel | Helipod |
|-------|--------|---------|
| **Frontend (Next.js)** | ✅ Excellent | ✅ Supported |
| **Backend always-on** | ❌ Serverless only | ✅ Containers |
| **Database** | ❌ Via third-party | ✅ PostgreSQL, MariaDB |
| **Queue workers** | ❌ Via third-party | ✅ Built-in |
| **WebSocket** | ⚠️ Limited | ✅ Full support |
| **Cold start** | ⚠️ Ada | ✅ Tidak ada |
| **Harga** | $20/user/bulan | Rp 350/hari mulai |
| **Kartu kredit** | ✅ Diperlukan | ❌ QRIS & Transfer |
| **Bayar Rupiah** | ❌ | ✅ |

### Kapan Harus Migrate?

Migrate ke Helipod jika kamu:
- Butuh **backend always-on** (bukan serverless)
- Butuh **database** dalam satu platform
- Ingin **bayar Rupiah** tanpa kartu kredit
- Ingin **mengurangi biaya** (Vercel Pro $20/bulan vs Helipod mulai Rp 350/hari)
- Punya **WebSocket** atau real-time features
- Butuh **queue workers** untuk background jobs

## Persiapan Migration

### 1. Audit Aplikasi Vercel

```
Vercel Dashboard → pilih project → Settings
```

Catat:
- Framework (Next.js, Nuxt, etc.)
- Build command
- Output directory
- Environment variables
- Domain settings
- Functions (serverless)

### 2. Backup Environment Variables

```
Vercel Dashboard → Settings → Environment Variables
```

Export semua env vars, kamu akan memindahkannya ke Helipod.

### 3. Pahami Perbedaan Serverless vs Container

**Vercel (Serverless):**
```
Request → Vercik Edge → Serverless Function → Response
                ↑
          Cold start (500ms-2s)
```

**Helipod (Container):**
```
Request → Container → Response
         ↑
    Always-on, no cold start
```

## Step-by-Step Migration

### Step 1: Buat Project di Helipod

1. Login ke [helipod.io](https://helipod.io)
2. Klik **New Project**
3. Beri nama (bisa sama dengan nama Vercel project)

### Step 2: Deploy Frontend (Next.js)

1. Klik **Add Service** → **GitHub/GitLab**
2. Connect repo yang sama dengan Vercel
3. Helipod akan auto-detect Next.js

**Catatan:** Jika pakai Next.js, pastikan `next.config.js` punya output standalone:

```javascript
// next.config.js
module.exports = {
  output: 'standalone',
}
```

### Step 3: Deploy Backend (Jika Ada)

Jika aplikasi punya backend terpisah:

1. Klik **Add Service** → **GitHub/GitLab**
2. Connect repo backend
3. Atur resource (CPU & RAM)

### Step 4: Deploy Database (Jika Perlu)

Jika pakai PlanetScale, Neon, atau database lain:

1. Klik **Add Service** → pilih **PostgreSQL** atau **MariaDB**
2. Atur resource
3. Deploy

**Perbedaan penting:**
```bash
# Vercel: pakai PlanetScale/Neon (third-party)
DATABASE_URL=mysql://xxx@planetscale.com/db

# Helipod: database dalam project
DATABASE_URL=postgresql://user:pass@postgres-db:5432/myapp
                                              ↑
                                      service name, bukan external URL
```

### Step 5: Set Environment Variables

Di tab **Variables**, tambahkan semua env vars dari Vercel:

```
# Frontend
NEXT_PUBLIC_API_URL=https://backend-api.helipod.app

# Backend
DATABASE_URL=postgresql://user:pass@postgres-db:5432/myapp
REDIS_URL=redis://redis-cache:6379
JWT_SECRET=your-secret

# Third-party APIs
STRIPE_SECRET_KEY=sk_live_xxx
SENDGRID_API_KEY=SG.xxx
```

**Perbedaan Vercel vs Helipod:**

| Vercel | Helipod | Note |
|--------|---------|------|
| `NEXT_PUBLIC_*` | `NEXT_PUBLIC_*` | Sama, client-side |
| `VERCEL_URL` | `APP_URL` | Ganti manual |
| `VERCEL_ENV` | `APP_ENV` | Ganti manual |
| Serverless secrets | Container secrets | Sama cara pakainya |

### Step 6: Deploy

Klik **Deploy** untuk setiap service. Helipod akan:
1. Build image
2. Deploy container
3. Setup SSL & domain
4. Connect ke database (jika ada)

### Step 7: Test

1. Buka URL dari Helipod
2. Test semua halaman
3. Test API endpoints
4. Test database connections
5. Test WebSocket (jika ada)
6. Cek logs untuk error

### Step 8: Update DNS (Jika Pakai Custom Domain)

**Vercel:**
```
Vercel Dashboard → Settings → Domains
```

**Helipod:**
```
Helipod Dashboard → Settings → Networking & Domains → Add Domain
```

Update DNS records:
- Jika pakai **Cloudflare**: gunakan **Grey Cloud (DNS Only)**
- Jika pakai **other DNS**: update A record atau CNAME ke Helipod

## Perbedaan Kode

### Next.js Config

**Vercel:**
```javascript
// next.config.js: default Vercel
module.exports = {
  // Tidak perlu output: 'standalone'
}
```

**Helipod:**
```javascript
// next.config.js: tambahkan standalone
module.exports = {
  output: 'standalone',
}
```

### API Routes vs Backend Service

**Vercel, Serverless Functions:**
```
app/
├── api/
│   ├── users/
│   │   └── route.ts    ← Serverless function
│   └── posts/
│       └── route.ts    ← Serverless function
```

**Helipod, Backend Service:**
```
project/
├── frontend/           ← Next.js (service terpisah)
├── backend/            ← Node.js/Laravel/Django (service terpisah)
└── database/           ← PostgreSQL/MariaDB (service terpisah)
```

### Database Connection

**Vercel, External Database:**
```javascript
// PlanetScale, Neon, atau Supabase
const db = mysql({
  host: 'aws.connect.psdb.cloud',
  user: 'username',
  password: 'password',
  database: 'mydb',
});
```

**Helipod, Internal Database:**
```javascript
// Database dalam project, gunakan service name
const db = postgresql({
  host: 'postgres-db',  // service name
  user: 'user',
  password: 'password',
  database: 'mydb',
});
```

### Cold Start Handling

**Vercel, Perlu handle cold start:**
```javascript
// Serverless function: cold start bisa lambat
export default async function handler(req, res) {
  // First request mungkin lambat (500ms-2s)
  const data = await fetchData();
  res.json(data);
}
```

**Helipod, Tidak ada cold start:**
```javascript
// Container always-on: response time konsisten
app.get('/api/data', async (req, res) => {
  const data = await fetchData();
  res.json(data);
});
```

## Arsitektur: Vercel vs Helipod

### Vercel (Perlu Banyak Layanan)

```
Vercel          → Next.js frontend
PlanetScale     → MySQL database
Upstash         → Redis cache
Vercel Functions → API endpoints
─────────────────────────────
Total: ~$69/bulan (~Rp 1.104.000)
```

### Helipod (Satu Platform)

```
Project: MyApp
├── Next.js Frontend   (0.25 vCPU, 512MB)
├── Node.js Backend    (0.5 vCPU, 1GB)
├── PostgreSQL         (0.5 vCPU, 1GB)
└── Redis              (0.25 vCPU, 256MB)
─────────────────────────────
Total: Rp 7.000/hari (~Rp 210.000/bulan)
```

**Hemat 80%** dengan Helipod.

## Checklist Migration

- [ ] Audit aplikasi Vercel (framework, env vars, functions)
- [ ] Backup environment variables
- [ ] Tambahkan `output: 'standalone'` ke next.config.js
- [ ] Buat project di Helipod
- [ ] Deploy frontend (Next.js)
- [ ] Deploy backend (jika ada)
- [ ] Deploy database (jika perlu)
- [ ] Set environment variables
- [ ] Test semua fitur
- [ ] Update custom domain
- [ ] Test WebSocket (jika ada)
- [ ] Monitor logs dan metrics

## Troubleshooting

### "Build failed: output standalone"

Pastikan `next.config.js` punya:
```javascript
module.exports = {
  output: 'standalone',
}
```

### "API routes not working"

Vercel API routes tidak bisa dipindahkan langsung. Buat backend service terpisah atau konversi ke standalone API.

### "Database connection refused"

Pastikan gunakan **service name** (misal: `postgres-db`), bukan `localhost` atau external URL.

### "Cold start still happening"

Helipod tidak punya cold start. Jika ada delay, cek:
- Resource allocation (CPU/RAM terlalu kecil?)
- Database query lambat?
- External API calls?

### "WebSocket not connecting"

Pastikan WebSocket di-handle di backend service, bukan di Next.js API routes.

## FAQ

### Baca pakai Next.js API routes?

Tidak langsung. Vercel API routes adalah serverless functions. Di Helipod, buat backend service terpisah (Node.js/Express, NestJS, Laravel) untuk API.

### Apakah perlu ubah code?

Minimal. Yang perlu diubah:
1. Tambahkan `output: 'standalone'` di next.config.js
2. Ganti `VERCEL_URL` → `APP_URL`
3. Ganti database host → service name

### Bagaimana dengan ISR/SSG?

ISR (Incremental Static Regeneration) bekerja di Helipod. SSG (Static Site Generation) juga support.

### Berapa biaya migration?

Gratis. Biaya hanya untuk resource yang kamu pakai setelah migration.

### Berapa lama migration?

30-60 menit untuk aplikasi sederhana. 1-2 jam untuk aplikasi complex dengan database dan multiple services.

## Kesimpulan

Migration dari Vercel ke Helipod memberikan kamu:
- **Full-stack deployment**: frontend + backend + database
- **Bayar Rupiah**: QRIS, transfer bank, tanpa kartu kredit
- **Lebih murah**: hemat hingga 80% dari Vercel + third-party services
- **Tidak ada cold start**: container always-on
- **Full WebSocket support**: real-time apps tanpa batasan

Mulai migration di [helipod.io](https://helipod.io), tidak perlu kartu kredit.

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