-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
68 lines (56 loc) · 4.82 KB
/
Copy path.env.example
File metadata and controls
68 lines (56 loc) · 4.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# ── Backend ─────────────────────────────────────────────────────
APP_ID= # Application ID
APP_SECRET= # Application secret (used for JWT signing)
# ── Database ───────────────────────────────────────────────────
DATABASE_URL= # PostgreSQL connection string (postgresql://user:pass@host:port/db)
# ── Application URL / Dev Server Port ───────────────────────────
PORT=3200 # Dev server port (Vite and standalone backend)
APP_URL=http://localhost:3200 # Frontend URL (used for CORS)
API_URL=http://localhost:3200 # Backend API URL (same as APP_URL when co-hosted)
# FinaBill first-party connect
FINABILL_APP_URL=http://localhost:5174
FINABILL_API_URL=http://localhost:3100
# ── bcrypt Configuration ───────────────────────────────────────
BCRYPT_ROUNDS=12 # Cost factor for bcrypt password hashing (default: 12)
# ── NHIF Rate ──────────────────────────────────────────────────
NHIF_RATE=2.75 # NHIF/SHIF contribution rate percentage (default: 2.75)
# ── Rate Limiting ──────────────────────────────────────────────
RATE_LIMIT_WINDOW_MS=60000 # Rate limit window in milliseconds (default: 60000)
RATE_LIMIT_MAX_LOGIN=10 # Max login attempts per window (default: 10)
RATE_LIMIT_MAX_API=100 # Max API requests per window (default: 100)
# ── Super Admin ────────────────────────────────────────────────
SUPER_ADMIN_ACCOUNT= # Account ID that will have super admin access (default: none)
ADMIN_ROUTE=admin # URL path for the admin dashboard (default: admin)
# ── SMTP / Email ───────────────────────────────────────────────
SMTP_HOST= # SMTP server hostname
SMTP_PORT=587 # SMTP server port (465 for SSL, 587 for TLS)
SMTP_USER= # SMTP username
SMTP_PASS= # SMTP password
SMTP_FROM= # From email address
# ── Currency Exchange Rates ────────────────────────────────────
# Default provider is "frankfurter" (free, open-source)
# Switch to "manual" to disable auto-sync, or set EXCHANGE_RATE_API_KEY for ExchangeRate-API.com
EXCHANGE_RATE_PROVIDER=frankfurter
EXCHANGE_RATE_BASE_CURRENCY=KES
FRANKFURTER_API_URL=https://api.frankfurter.dev/v2/rates # Change to your self-hosted URL if needed
# EXCHANGE_RATE_API_KEY= # For ExchangeRate-API.com (optional)
EXCHANGE_RATE_SYNC_INTERVAL=3600000 # Sync interval in milliseconds (default: 3600000 = 1 hour)
# ── Sasapay Mobile Wallet Provider ──────────────────────────────
SASAPAY_API_KEY= # Sasapay API key
SASAPAY_API_SECRET= # Sasapay API secret (used for HMAC signature verification)
SASAPAY_MERCHANT_CODE= # Sasapay merchant code
SASAPAY_CALLBACK_URL= # Webhook callback URL (e.g., https://yourapp.com/api/webhooks/sasapay)
# ── M-PESA STK Push ─────────────────────────────────────────────
MPESA_CONSUMER_KEY= # M-PESA Daraja API consumer key
MPESA_CONSUMER_SECRET= # M-PESA Daraja API consumer secret
MPESA_SHORTCODE= # M-PESA shortcode (paybill or till number)
MPESA_PASSKEY= # M-PESA passkey for STK push
MPESA_CALLBACK_URL= # M-PESA callback URL for STK push
# ── Sentry Error Tracking ──────────────────────────────────────
# SENTRY_DSN= # Backend Sentry DSN (unset to disable Sentry)
# VITE_SENTRY_DSN= # Frontend Sentry DSN (unset to disable Sentry)
# SENTRY_ORG= # Sentry organization slug (for source map upload)
# SENTRY_PROJECT= # Sentry project slug (for source map upload)
# SENTRY_AUTH_TOKEN= # Sentry auth token (for source map upload only, never commit this!)
# SENTRY_TRACES_SAMPLE_RATE=0.2 # Performance tracing sample rate (0.0-1.0, default 0.2)
# SENTRY_PROFILES_SAMPLE_RATE=0.1 # Profiling sample rate (0.0-1.0, default 0.1)