Environment Variables
Daftar lengkap seluruh environment variable frontend, backend, Firebase, MQTT, dan Cloudinary.
Status: Updatedv1.0.0Source Verified: Yes
Source:
.env.example, .env.vercel.example, backend/.env.exampleTests: tests/unit/authPolicy.test.tsEnvironment Variables Reference#
Dokumentasi ini memetakan seluruh konfigurasi environment variable yang digunakan pada OrthoBreath v1.0.0.
PERINGATAN
Jangan pernah memasukkan secret atau private key asli ke dalam Git repository. Gunakan dashboard Vercel / Render untuk memasukkan nilai produksi.
1. Frontend Environment Variables (Next.js)#
| Variable | Required | Default | Description | Used By |
|---|---|---|---|---|
NEXT_PUBLIC_APP_URL | Yes | http://localhost:3000 | URL publik root aplikasi | Client & Server |
NEXT_PUBLIC_APP_NAME | No | OrthoBreath | Nama produk pada title bar | Client |
NEXT_PUBLIC_APP_VERSION | Yes | 1.0.0 | Versi aplikasi aktif | Client & Health API |
NEXT_PUBLIC_BUILD_ENV | No | production | Environment mode (development / production) | Client |
ENABLE_HTTPS_HEADERS | No | true | Mengaktifkan header Strict-Transport-Security | Middleware |
NEXT_PUBLIC_USE_FIREBASE_EMULATORS | No | false | Mengarahkan auth ke emulator lokal 127.0.0.1:9099 | Client Auth |
2. Firebase Client & Admin SDK Configuration#
| Variable | Required | Example Placeholder | Description |
|---|---|---|---|
NEXT_PUBLIC_FIREBASE_API_KEY | Yes | AIzaSy... | Firebase Public Web API Key |
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN | Yes | orthobreath.firebaseapp.com | Firebase Auth domain |
NEXT_PUBLIC_FIREBASE_PROJECT_ID | Yes | orthobreath | Google Cloud Project ID |
FIREBASE_PROJECT_ID | Yes | orthobreath | Server-side Firebase Project ID |
FIREBASE_CLIENT_EMAIL | Yes | [email protected] | Service Account Email |
FIREBASE_PRIVATE_KEY | Yes | <SERVICE_ACCOUNT_PRIVATE_KEY_PEM> | RSA Private Key Service Account |
3. AI Backend & Signing Keys#
| Variable | Required | Description | Used By |
|---|---|---|---|
AI_BACKEND_URL | Yes | URL endpoint backend FastAPI (https://orthobreath-ai.onrender.com) | Next.js API Routes |
AI_BACKEND_INTERNAL_KEY | Yes | Secret HMAC internal minimum 48 karakter | Next.js & FastAPI |
AI_REQUEST_TIMEOUT_MS | No | Timeout request inferensi AI (Default: 75000 ms) | Next.js AI Gateway |
AI_RESULT_SIGNING_KEY | Yes | Kunci penandatanganan hasil diagnosis (32 bytes) | Server Proof |
NEXT_SERVER_ACTIONS_ENCRYPTION_KEY | Yes | Kunci enkripsi server actions payload | Next.js |
4. MQTT & Cloudinary Storage#
| Variable | Required | Default | Description |
|---|---|---|---|
MQTT_PROTOCOL | Yes | mqtts | Protokol koneksi MQTT (mqtts / wss) |
MQTT_HOST | Yes | *.s1.eu.hivemq.cloud | Host cluster HiveMQ Cloud |
MQTT_PORT | Yes | 8883 | Port TLS MQTT |
MQTT_USERNAME | Yes | <hivemq-user> | Username autentikasi broker |
MQTT_PASSWORD | Yes | <hivemq-password> | Password autentikasi broker |
CLOUDINARY_CLOUD_NAME | Yes | <cloud-name> | Cloudinary account name |
CLOUDINARY_API_KEY | Yes | <api-key> | Cloudinary REST API Key |
CLOUDINARY_API_SECRET | Yes | <api-secret> | Cloudinary REST API Secret |
CLOUDINARY_UPLOAD_PRESET | Yes | orthobreath-dental-signed | Signed upload preset Cloudinary |