-
Notifications
You must be signed in to change notification settings - Fork 159
Expand file tree
/
Copy path.env.example
More file actions
72 lines (62 loc) · 2.38 KB
/
Copy path.env.example
File metadata and controls
72 lines (62 loc) · 2.38 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
69
70
71
72
# Environment Variables
DATABASE_URL=postgresql://user:password@localhost:5432/propchain
PORT=3000
NODE_ENV=development
FRONTEND_URL=http://localhost:3000
# JWT Configuration
# Required. Must be at least 32 characters (256 bits). The app will refuse to
# start if either secret is missing or too short. Generate strong values with:
# openssl rand -hex 32
JWT_SECRET=your-super-secret-jwt-key-change-in-production-min-32-chars
JWT_REFRESH_SECRET=your-super-secret-refresh-key-change-in-production-min-32c
JWT_ACCESS_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=7d
# Security Configuration
BCRYPT_ROUNDS=12
PASSWORD_HISTORY_LIMIT=5
# Database Backup Management
BACKUP_STORAGE_PATH=./backups
PG_DUMP_PATH=pg_dump
PSQL_PATH=psql
# PgBouncer Connection Pooling
# Set to 'true' when connecting through PgBouncer (disables Prisma's built-in pool)
PGBOUNCER_ENABLED=false
# Pool size exposed to Prisma when PgBouncer is enabled (matches PgBouncer DEFAULT_POOL_SIZE)
PGBOUNCER_POOL_SIZE=20
# Timeout (ms) for acquiring a connection from the pool
PGBOUNCER_POOL_TIMEOUT=10000
# Cache Warming
# Set to 'false' to disable startup and periodic cache warming
CACHE_WARMING_ENABLED=true
# Google OAuth2
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GOOGLE_CALLBACK_URL=http://localhost:3000/api/auth/google/callback
# Blockchain Configuration
BLOCKCHAIN_ENABLED=true
BLOCKCHAIN_NETWORK=sepolia
BLOCKCHAIN_RPC_URL=https://sepolia.infura.io/v3/YOUR_INFURA_KEY
BLOCKCHAIN_CONTRACT_ADDRESS=0x0000000000000000000000000000000000000000
BLOCKCHAIN_PRIVATE_KEY=your-wallet-private-key
# Property Image Uploads
PROPERTY_IMAGES_UPLOAD_DIR=./uploads/properties
PROPERTY_IMAGE_MAX_SIZE=10485760
PROPERTY_IMAGE_MAX_PER_PROPERTY=30
BASE_URL=http://localhost:3000
# Geocoding
# Provider: 'nominatim' (default, free) or 'google' (requires GOOGLE_GEOCODING_API_KEY).
# When GOOGLE_GEOCODING_API_KEY is set, 'google' is auto-selected unless
# GEOCODING_PROVIDER is explicitly set to 'nominatim'.
GEOCODING_PROVIDER=nominatim
NOMINATIM_BASE_URL=https://nominatim.openstreetmap.org
GEOCODING_USER_AGENT=PropChain-Backend/1.0 (geocoding)
GEOCODING_TIMEOUT_MS=5000
# GOOGLE_GEOCODING_API_KEY=
# CAPTCHA Configuration
# Set to 'true' only in development environments to bypass CAPTCHA verification
CAPTCHA_BYPASS=false
# Redis (used by Docker Compose and cache module)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0