-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy path.env.example
More file actions
111 lines (98 loc) · 3.15 KB
/
.env.example
File metadata and controls
111 lines (98 loc) · 3.15 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
107
108
109
110
111
# Database Configuration
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_USER=postgres
DATABASE_PASSWORD=postgres
DATABASE_NAME=teachlink
DATABASE_POOL_MAX=30
DATABASE_POOL_MIN=5
DATABASE_POOL_ACQUIRE_TIMEOUT_MS=10000
DATABASE_POOL_IDLE_TIMEOUT_MS=30000
# JWT Configuration
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production-min-10-chars
ENCRYPTION_SECRET=your-super-secret-32-char-encryption-key-change-this
JWT_EXPIRES_IN=15m
JWT_REFRESH_SECRET=your-super-secret-refresh-key-change-this-in-production
JWT_REFRESH_EXPIRES_IN=7d
# Redis Configuration (for Bull Queue)
REDIS_HOST=localhost
REDIS_PORT=6379
# Email Marketing - SMTP Configuration
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your_smtp_user
SMTP_PASS=your_smtp_password
EMAIL_FROM_NAME=TeachLink
# SendGrid Configuration (Email Service)
SENDGRID_API_KEY=your_sendgrid_api_key
SENDGRID_HEALTH_URL=https://api.sendgrid.com/v3/health
# Stripe Configuration (Payment Processing)
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
STRIPE_HEALTH_URL=https://api.stripe.com/v1/balance
# AWS Configuration (S3, CloudFront, KMS)
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=us-east-1
AWS_S3_BUCKET=your-s3-bucket-name
AWS_S3_BUCKET_NAME=your-s3-bucket-name
AWS_KMS_KEY_ID=your-kms-key-id
AWS_CLOUDFRONT_DISTRIBUTION_ID=your-cloudfront-distribution-id
AWS_HEALTH_URL=https://sts.amazonaws.com
# Session Configuration
SESSION_SECRET=your-session-secret-min-10-chars
SESSION_COOKIE_NAME=teachlink.sid
SESSION_PREFIX=sess:
SESSION_TTL_SECONDS=604800
SESSION_COOKIE_MAX_AGE_MS=604800000
SESSION_LOCK_TTL_MS=5000
SESSION_LOCK_MAX_RETRIES=5
SESSION_LOCK_RETRY_DELAY_MS=120
STICKY_SESSIONS_REQUIRED=true
TRUST_PROXY=true
# Application URL (for tracking links)
APP_URL=http://localhost:3000
# GraphQL Complexity Analysis
GRAPHQL_MAX_DEPTH=10
GRAPHQL_MAX_COMPLEXITY=1000
GRAPHQL_LIST_MULTIPLIER=10
# =============================================================================
# Feature Flags - Module Loading Configuration
# =============================================================================
# Set to 'false' to disable loading of specific modules at startup
# This reduces memory footprint and improves startup time
# =============================================================================
# Core Features (recommended to keep enabled)
ENABLE_AUTH=true
ENABLE_SESSION_MANAGEMENT=true
# Optional Feature Modules
ENABLE_PAYMENTS=true
ENABLE_AB_TESTING=false
ENABLE_DATA_WAREHOUSE=false
ENABLE_COLLABORATION=true
ENABLE_MEDIA_PROCESSING=true
ENABLE_BACKUP=true
ENABLE_GRAPHQL=false
ENABLE_SYNC=true
ENABLE_MIGRATIONS=true
ENABLE_RATE_LIMITING=true
ENABLE_OBSERVABILITY=true
ENABLE_CACHING=true
ENABLE_FEATURE_FLAGS=true
ENABLE_SEARCH=true
ENABLE_NOTIFICATIONS=true
ENABLE_EMAIL_MARKETING=true
ENABLE_GAMIFICATION=true
ENABLE_ASSESSMENT=true
ENABLE_LEARNING_PATHS=true
ENABLE_MODERATION=true
ENABLE_ORCHESTRATION=true
ENABLE_SECURITY=true
ENABLE_TENANCY=true
ENABLE_CDN=true
# Performance Tuning
# Set to 'true' to enable cluster mode (uses all CPU cores)
CLUSTER_MODE=false
CLUSTER_WORKERS=4