Skip to content

Konfigurasi API

Konfigurasi API disediakan melalui variabel lingkungan, biasanya dalam file .env lokal yang tidak dibagikan. Tabel ini merangkum nama dan kegunaan konfigurasi yang digunakan backend. Nilai aktual harus disediakan oleh administrator lingkungan Anda.

Variabel Kegunaan Catatan
PORT Port HTTP API. Fallback aplikasi adalah 3000.
CORS_ORIGINS Daftar origin frontend yang diizinkan, dipisahkan koma. Jika kosong, backend menggunakan daftar origin lokal bawaan.
MONGO_URI_YOSEHAT URI koneksi database MongoDB YoSehat. Konfigurasikan kredensial dan jaringan sesuai lingkungan.
JWT_SECRET Rahasia untuk penandatanganan/verifikasi JWT. Gunakan nilai privat dan kuat; jangan gunakan contoh atau nilai placeholder.
JWT_EXPIRATION Masa berlaku JWT. Auth menggunakan fallback 1h bila tidak dikonfigurasi.
REDIS_HOST Host Redis. Fallback pada layanan cache adalah localhost.
REDIS_PORT Port Redis. Fallback pada layanan cache adalah 6379.
REDIS_PASSWORD Kata sandi Redis bila digunakan. Jangan simpan kredensial produksi dalam kontrol versi.
REDIS_DB Nomor database Redis. Fallback pada layanan cache adalah 0.
REDIS_KEY_PREFIX_CACHE Prefix key cache. Sesuaikan agar tidak bertabrakan dengan key aplikasi lain.
SMTP_HOST, SMTP_PORT, SMTP_SECURE Koneksi server email. Dibutuhkan untuk alur email sesuai konfigurasi deployment.
SMTP_USER, SMTP_PASS Kredensial SMTP. Simpan sebagai secret lingkungan.
SMTP_FROM, SMTP_FROM_NAME Identitas pengirim email. Gunakan alamat pengirim yang disetujui.
MIDTRANS_SERVER_KEY Kredensial integrasi pembayaran Midtrans. Rahasia; jangan pernah dikirim ke klien atau didokumentasikan nilainya.
MIDTRANS_IS_PRODUCTION Memilih mode integrasi pembayaran. Pastikan mode sesuai lingkungan.
ORDER_REFUND_ENCRYPTION_KEY Kunci enkripsi data refund pesanan. Lindungi sebagai secret dan ikuti ketentuan panjang/format implementasi.

Backend menggunakan CORS_ORIGINS untuk menentukan origin yang diizinkan. Pastikan origin frontend yang diperlukan tercantum tanpa menambahkan wildcard secara sembarang.

Meskipun contoh konfigurasi dapat memuat variabel ROUTE_PREFIX, bootstrap NestJS saat ini menetapkan global prefix kosong. Karena itu, jangan menambahkan prefix tersebut pada request tanpa perubahan implementasi yang sesuai.

  • Jangan menaruh .env atau secret dalam repositori, dokumentasi publik, issue, maupun log.
  • Gunakan secret store atau pengelola konfigurasi lingkungan deployment.
  • Rotasi kredensial jika terlanjur terungkap.
  • Isi contoh lokal dengan nilai milik lingkungan Anda; jangan menyalin nilai rahasia dari mesin atau deployment lain.