Deploy pertama selalu terasa magis. Tapi yang membedakan hobby project dengan production adalah checklist di menit-menit terakhir. Ini punya saya.
1. Environment Variables: Jangan Sampai Bocor
Pisahkan tiga jenis variabel:
NUXT_PUBLIC_* → aman diekspos ke browser
- Kunci API / token → hanya di server, tanpa prefix
public
- Konfigurasi per-environment → pakai preview environment Vercel untuk staging
# .env lokal (jangan di-commit!)
TURSO_DATABASE_URL=libsql://...
TURSO_AUTH_TOKEN=...
Aturan sederhana: kalau file .env kamu hilang besok pagi, apakah ada yang panik? Kalau ya, berarti ada kredensial di dalamnya — pastikan tidak pernah masuk git.
2. Tentukan Rendering Strategy
Tidak semua halaman butuh SSR penuh:
routeRules: {
'/': 'prerender',
'/articles/**': 'swr', // cache + revalidate
'/admin/**': 'ssr' // dinamis, selalu segar
}
Halaman landing cukup prerender — cepat dan murah. Artikel pakai swr supaya pembaca dapat halaman instan dari cache.
3. Database di Serverless
Kalau pakai SQLite lokal, saatnya migrasi ke Turso (libSQL) karena serverless tidak punya filesystem persisten. Pola koneksinya:
import { createClient } from '@libsql/client'
export const client = createClient({
url: process.env.TURSO_DATABASE_URL!,
authToken: process.env.TURSO_AUTH_TOKEN
})
4. Monitoring Minimalis
Minimal aktifkan ini sebelum hari-H:
- Analytics — Vercel Analytics atau Plausible
- Error tracking — Sentry free tier sudah cukup
- Uptime ping — gratis pakai cron-monitoring mana pun
Penutup
Checklist ini bukan aturan baku, tapi lima menit terakhir sebelum deploy adalah investasi termurah untuk tidur nyenyak. Deploy dengan tenang!