Skip to main content
Environment di project ini memakai layer: satu file shared untuk secret, file override opsional kalau ada perbedaan per lingkungan.

File dan perannya

Aturan merge

Kalau key ada di file override → nilai override menang.
Kalau tidak ada → fallback ke .env shared.

Apa yang masuk .env shared?

Secret dan konfigurasi yang sama di dev dan prod:
  • BETTER_AUTH_SECRET
  • DEEPSEEK_API_KEY
  • AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY (R2)
  • MUX_*
  • SCALEV_*
  • RESEND_API_KEY
  • dll.
Template: .env.example di root repo. Tutorial per layanan (cara dapat API key): Layanan eksternal.

Apa yang masuk override dev?

Hanya yang beda di laptop:
Template: .env.development.local.example

Apa yang masuk override prod?

Biasanya hanya yang beda di Cloudflare:
URL production (FRONTEND_URL, BETTER_AUTH_URL, dll.) sudah di apps/api/wrangler.jsonc vars. Template: .env.production.local.example

Contoh: hanya ubah DB lokal

1

Edit override dev

2

Merge ulang

3

Dev

Secret AI/R2/Mux tetap di .env — tidak perlu duplikasi.

Migrasi dari apps/api/.env lama

Script memisahkan:
  • Secret → .env
  • URL/DB lokal → .env.development.local
File .env harus format KEY=value. Baris catatan bebas (tanpa =) diabaikan saat merge.