# ---------------------------------------------------------------------
# Copy this file to .env and fill in the blanks. .env is gitignored.
# ---------------------------------------------------------------------
# --- Database (PostgreSQL 18 is on port 5432 on this machine) ---------
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=aris
DB_NAME=rcms
DB_SSLMODE=disable
DB_MAX_CONNS=25
# Full path to psql.exe, used by db/migrate.ps1
PSQL_PATH=D:\PostgreSQL\18\bin\psql.exe
# --- API (Go Fiber) ---------------------------------------------------
API_PORT=8080
API_ENV=development
# Generate with: openssl rand -base64 48
JWT_SECRET=SLCDfAlL/CJgCbsz0H4uwWT6dTtqnyudjXg25Fl7sr4c0tcnA+sIfc38R/uQgD4V
JWT_ACCESS_TTL=15m
JWT_REFRESH_TTL=720h
CORS_ORIGINS=http://localhost:3000
# Rate limiting
RATE_LIMIT_MAX=120
RATE_LIMIT_WINDOW=60s
# --- Web (Next.js) ----------------------------------------------------
NEXT_PUBLIC_API_URL=http://localhost:8080/api/v1
NEXT_PUBLIC_WS_URL=ws://localhost:8080/ws
NEXT_PUBLIC_APP_NAME=RCMS
# --- Storage (S3 compatible; optional until file upload is wired) -----
S3_ENDPOINT=
S3_REGION=
S3_BUCKET=
S3_ACCESS_KEY=
S3_SECRET_KEY=
# --- Payment gateway (Midtrans) --------------------------------------
# Opsional. Kosongkan keduanya bila restoran hanya menerima tunai/kartu di
# kasir; pemesanan QR tetap jalan dengan pilihan "bayar di kasir".
#
# Kunci Midtrans selalu berawalan:
# Sandbox : SB-Mid-server-xxxx / SB-Mid-client-xxxx
# Production : Mid-server-xxxx / Mid-client-xxxx
#
# API menolak start bila keduanya tertukar, atau bila MIDTRANS_IS_PRODUCTION
# tidak cocok dengan jenis kuncinya. Itu disengaja: kunci produksi yang
# dijalankan sebagai sandbox gagal autentikasi di tengah pelayanan, dan
# kebalikannya memindahkan uang sungguhan.
#
# SERVER KEY TIDAK BOLEH ADA DI apps/web. Next.js memang tidak membundel
# variabel tanpa awalan NEXT_PUBLIC_, tetapi menaruhnya di sana menunggu
# seseorang menambahkan awalan itu suatu hari.
MIDTRANS_SERVER_KEY=
MIDTRANS_CLIENT_KEY=
MIDTRANS_IS_PRODUCTION=false
# Opsional, untuk menolak notifikasi milik merchant lain.
MIDTRANS_MERCHANT_ID=
# Alamat publik web, dipakai sebagai tujuan kembali setelah tamu membayar.
PUBLIC_WEB_URL=http://localhost:3000
0 Komentar