-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathenv.example
More file actions
106 lines (91 loc) · 4.37 KB
/
Copy pathenv.example
File metadata and controls
106 lines (91 loc) · 4.37 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
## NODE ENVIRONMENT CONFIGURATION
# =============================================================================
# BASIC CONFIGURATION
# =============================================================================
NODE_ENV=development
PORT=8070
TIMEZONE=UTC
# =============================================================================
# APP INFORMATION
# =============================================================================
APP_NAME="My App"
APP_VERSION=1
APP_DESCRIPTION="Backend API Service"
APP_URL=http://localhost:8070
# =============================================================================
# CORS CONFIGURATION
# =============================================================================
CORS_ORIGIN=http://127.0.0.1:3000,http://localhost:3000
CORS_METHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
CORS_MAX_AGE=86400
# =============================================================================
# RATE LIMIT CONFIGURATION
# =============================================================================
RATE_LIMIT_WINDOW_MS=60000
RATE_LIMIT_MAX_REQUESTS=120
RATE_LIMIT_LOGIN_WINDOW_MS=900000
RATE_LIMIT_LOGIN_MAX_REQUESTS=20
RATE_LIMIT_OTP_WINDOW_MS=3600000
RATE_LIMIT_OTP_MAX_REQUESTS=5
RATE_LIMIT_RETRY_AFTER_MS=60000
# =============================================================================
# DATABASE CONFIGURATION (PostgreSQL)
# =============================================================================
DATABASE_URL=postgresql://postgres:change-me@127.0.0.1:5432/myapp
DATABASE_POOL_MAX=10
DATABASE_POOL_IDLE_TIMEOUT_MS=30000
DATABASE_POOL_CONNECTION_TIMEOUT_MS=5000
# =============================================================================
# REDIS CONFIGURATION
# =============================================================================
REDIS_URL=redis://127.0.0.1:6379
REDIS_CONNECTION_NAME=app-service
REDIS_MAX_RETRIES_PER_REQUEST=3
# =============================================================================
# KEY FILES (RSA keys for JWT signing & encryption)
# =============================================================================
KEY_FILES=storage/keys/api/private.key,storage/keys/api/public.key,storage/keys/encryption/private.key,storage/keys/encryption/public.key
# =============================================================================
# SYSTEM RESOURCE THRESHOLDS
# =============================================================================
SYSTEM_RESOURCES_MIN_FREE_MEMORY_RATIO=0.03
SYSTEM_RESOURCES_MAX_LOAD_MULTIPLIER=1.5
SYSTEM_RESOURCES_MAX_LOAD_ABSOLUTE=6
# =============================================================================
# JWT CONFIGURATION
# =============================================================================
JWT_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=7d
# =============================================================================
# AUTH QUEUE CONFIGURATION (lastUsed batching)
# =============================================================================
AUTH_SESSION_LAST_USED_DEBOUNCE_MS=120000
AUTH_SESSION_LAST_USED_MAX_WAIT_MS=600000
# Placeholder suffix used for phone-only accounts until a real email is provided
AUTH_PLACEHOLDER_EMAIL_SUFFIX=@temp.placeholder.local
# =============================================================================
# LOGGING CONFIGURATION
# =============================================================================
LOG_LEVEL=debug
LOG_MAX_SIZE=20m
LOG_MAX_FILES=30d
# Enable file transports (default: true in production, false in development)
LOG_ENABLE_FILE=
# =============================================================================
# SENTRY CONFIGURATION
# =============================================================================
SENTRY_DSN=https://1c9864cf463139391d4f6b13f8b85def@o4507711926173696.ingest.us.sentry.io/4510966629531648
SENTRY_SEND_DEFAULT_PII=true
# =============================================================================
# API DOCS CONFIGURATION
# =============================================================================
DOCS_ENABLED=true
DOCS_PATH=/docs
# =============================================================================
# AWS CONFIGURATION (S3 File Storage with express-storage package)
# =============================================================================
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_S3_BUCKET=my-app-documents
AWS_S3_BUCKET_PUBLIC=my-app-public