OpenNext tidak wajib dipakai untuk deploy Next.js ke VPS. Next.js sudah
mendukung penuh semua fitur lewat Node.js server atau Docker bawaan,
tanpa adapter apa pun. OpenNext baru relevan kalau target deploy-nya
platform serverless/edge seperti AWS Lambda atau Cloudflare Workers,
bukan server tradisional yang kamu kontrol penuh sendiri.

**Ringkasan cepat:**

1. Next.js mendukung Node.js server dan Docker sebagai opsi self-hosting resmi dengan dukungan fitur penuh ("All"), tanpa perlu OpenNext atau adapter lain, menurut dokumentasi resmi Next.js.
2. OpenNext dimulai April 2023 sebagai inisiatif open-source untuk men-deploy Next.js ke platform serverless seperti AWS Lambda dan Cloudflare Workers, bukan untuk VPS.
3. Build Adapters API distabilkan di Next.js 16.2 (Maret 2026) sebagai kontrak resmi `modifyConfig`/`onBuildComplete` yang dipakai adapter Vercel, Bun, dan (masih dikembangkan) Cloudflare serta Netlify.
4. Adapter AWS dan Cloudflare dari OpenNext ditargetkan rilis akhir 2026, menurut pengumuman resmi tim OpenNext Maret 2026.
5. Situs ini sendiri (irfanramadhan.com) memakai output standalone plus deploy manual lewat systemd ke VPS tunggal, tanpa adapter maupun OpenNext sama sekali.

## Apa Itu OpenNext dan Kenapa Sering Disebut Bareng Deploy VPS?

OpenNext adalah inisiatif open-source yang dimulai April 2023 untuk
membuat Next.js bisa dipindahkan ke berbagai platform di luar Vercel.

> "OpenNext started in 2023 as an open-source initiative to make
> Next.js truly portable, deployable on any platform, not just
> Vercel."
>
> — [OpenNext](https://opennext.js.org/)

Kebingungan "perlu OpenNext untuk deploy ke VPS atau tidak" biasanya
muncul karena dua hal yang sedang ramai dibahas bersamaan: stabilnya
Build Adapters API resmi di Next.js 16.2, dan popularitas OpenNext
sebagai solusi deploy "tanpa Vercel". Keduanya memang berhubungan,
tapi menjawab masalah yang berbeda.

### Build Adapters API vs OpenNext: Siapa Mengimplementasikan Siapa?

Build Adapters API adalah kontraknya, OpenNext (dan Vercel, Bun,
Netlify) adalah salah satu pihak yang mengimplementasikan kontrak itu
untuk platform tertentu. Pembahasan lengkap soal hook `modifyConfig`
dan `onBuildComplete` sudah ditulis sebelumnya di
[Build Adapters API Next.js untuk Non-Vercel](/blog/build-adapters-api-nextjs-untuk-non-vercel).
Menurut [dokumentasi resmi Next.js](https://nextjs.org/docs/app/getting-started/deploying),
adapter yang sudah terverifikasi resmi per Oktober 2026 baru Vercel dan
Bun, sementara Cloudflare dan Netlify masih berstatus dalam
pengembangan dan sementara memakai integrasi mereka sendiri di luar
Adapter API publik.

## Kapan Next.js Benar-Benar Butuh OpenNext?

Next.js butuh OpenNext (atau adapter serupa) hanya saat target deploy-nya
platform serverless/edge yang tidak punya proses Node.js yang terus
hidup, seperti AWS Lambda (fungsi yang dipanggil per-request) atau
Cloudflare Workers (runtime V8 isolate, bukan Node.js penuh). Di
platform semacam itu, hasil build Next.js standar tidak bisa langsung
dijalankan, perlu dikemas ulang supaya cocok dengan model eksekusi
platform tujuan, dan di situlah peran OpenNext.

VPS tidak masuk kategori ini. VPS adalah mesin Linux biasa dengan
proses yang bisa berjalan terus-menerus, persis skenario yang sudah
didukung penuh oleh Next.js lewat Node.js server bawaan. Dokumentasi
resmi Next.js menandai dukungan fitur Node.js server dan Docker sebagai
"All", sedangkan baris Adapters ditandai "Varies" karena cakupan fitur
bergantung platform masing-masing.

## Bagaimana Cara Deploy Next.js 16 ke VPS Tanpa OpenNext?

Empat langkah inti berikut cukup untuk kebanyakan kasus VPS tunggal,
tanpa adapter maupun OpenNext:

1. Pastikan `package.json` punya script `build` (`next build`) dan
   `start` (`next start`). Ini saja sudah cukup untuk server Node.js
   biasa dengan dukungan fitur penuh.
2. (Opsional, lebih ringan) Set `output: "standalone"` di
   `next.config.ts` supaya hasil build hanya menyalin dependensi
   `node_modules` yang benar-benar dipakai aplikasi, bukan seluruh
   folder.
3. Salin folder `.next/standalone`, `.next/static`, dan `public/` ke
   server tujuan. Next.js tidak menyalin dua folder terakhir ke
   `standalone` secara otomatis, jadi ini langkah yang sering terlewat.
4. Jalankan server lewat process manager yang tetap hidup (unit
   systemd, PM2, atau container Docker), dengan reverse proxy seperti
   nginx di depannya untuk TLS dan domain.

Langkah detail nginx, systemd, dan TLS sudah dibahas lengkap di
[panduan deploy Next.js ke VPS tanpa Vercel](/blog/cara-deploy-nextjs-ke-vps-tanpa-vercel)
yang sudah tayang sebelumnya, termasuk contoh konfigurasi nyata yang
dipakai situs ini sendiri.

## Ringkasan: OpenNext untuk Serverless/Edge, VPS Cukup Node.js Server Bawaan

- OpenNext menyelesaikan masalah platform serverless/edge (AWS Lambda,
  Cloudflare Workers), bukan masalah VPS yang sudah ditangani penuh
  oleh Node.js server/Docker bawaan Next.js.
- Build Adapters API (stabil sejak Next.js 16.2) adalah kontrak resmi
  yang dipakai OpenNext dan platform lain untuk mengintegrasikan diri,
  bukan sesuatu yang wajib dipakai proyek dengan satu target VPS
  sederhana.
- Kalau target deploy cuma satu VPS yang sudah diketahui persis, output
  `standalone` plus systemd/nginx (seperti
  [panduan deploy VPS yang sudah ada](/blog/cara-deploy-nextjs-ke-vps-tanpa-vercel))
  tetap pilihan paling sederhana, tanpa perlu mempelajari OpenNext sama
  sekali.
- Butuh bantuan menentukan strategi deploy Next.js yang tepat untuk
  infrastrukturmu sendiri, baik VPS manual maupun platform serverless?
  Ini bagian dari [layanan web development](/layanan) yang ditawarkan
  di situs ini.