-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
150 lines (125 loc) · 4.04 KB
/
.env.example
File metadata and controls
150 lines (125 loc) · 4.04 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# Core Application Configuration
NEXT_PUBLIC_APP_URL=https://streamvault.app
NEXT_PUBLIC_APP_NAME=StreamVault
NODE_ENV=development
# Google Cloud Platform Configuration
GCP_PROJECT_ID=shining-courage-465501-i8
GCS_BUCKET_NAME=streamvault-videos
GOOGLE_APPLICATION_CREDENTIALS=path/to/service-account-key.json
GCS_SERVICE_ACCOUNT_EMAIL=ghstreamvault@shining-courage-465501-i8.iam.gserviceaccount.com
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
# Firebase Configuration
FIREBASE_PROJECT_ID=streamvault-prod
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-...@streamvault-prod.iam.gserviceaccount.com
NEXT_PUBLIC_FIREBASE_API_KEY=AIza...
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=streamvault-prod.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=streamvault-prod
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=streamvault-prod.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=123456789
NEXT_PUBLIC_FIREBASE_APP_ID=1:123456789:web:...
# Stripe Payment Configuration
STRIPE_SECRET_KEY=sk_test_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
STRIPE_BASIC_PRICE_ID=price_...
STRIPE_PREMIUM_PRICE_ID=price_...
STRIPE_PRO_PRICE_ID=price_...
# Streaming Infrastructure
STREAMING_DOMAIN=stream.streamvault.app
NEXT_PUBLIC_RTMP_ENDPOINT=rtmp://ingest.streamvault.app/live
NEXT_PUBLIC_HLS_ENDPOINT=https://cdn.streamvault.app/hls
NEXT_PUBLIC_CDN_ENDPOINT=https://cdn.streamvault.app
HLS_STORAGE_PATH=/tmp/hls
STREAMING_WEBHOOK_SECRET=your-streaming-webhook-secret
# Cloudflare Configuration
CLOUDFLARE_API_TOKEN=...
CLOUDFLARE_ZONE_ID=...
CLOUDFLARE_ACCOUNT_ID=...
# AI Services Configuration
OPENAI_API_KEY=sk-...
GOOGLE_AI_API_KEY=...
CONTENT_MODERATION_API_KEY=...
# Database Configuration
DATABASE_URL=postgresql://...
REDIS_URL=redis://...
# Security Configuration
JWT_SECRET=your-super-secret-jwt-key
ENCRYPTION_KEY=your-32-character-encryption-key
WEBHOOK_SECRET=your-webhook-secret-key
# Redis Configuration for Rate Limiting
UPSTASH_REDIS_REST_URL=https://...
UPSTASH_REDIS_REST_TOKEN=...
# Security Features
ENABLE_RATE_LIMITING=true
ENABLE_DDOS_PROTECTION=true
ENABLE_INPUT_VALIDATION=true
ENABLE_AUDIT_LOGGING=true
ENABLE_SECURITY_HEADERS=true
ENABLE_CONTENT_MODERATION=true
# Security Thresholds
MAX_LOGIN_ATTEMPTS=5
RATE_LIMIT_WINDOW_MS=900000
API_RATE_LIMIT=1000
AUTH_RATE_LIMIT=10
CHAT_RATE_LIMIT=60
UPLOAD_RATE_LIMIT=10
STREAM_RATE_LIMIT=5
# Content Moderation
MAX_MESSAGE_LENGTH=500
MAX_REPEATED_CHARACTERS=3
PROFANITY_FILTER_ENABLED=true
SPAM_DETECTION_ENABLED=true
TOXICITY_DETECTION_ENABLED=true
PERSONAL_INFO_DETECTION_ENABLED=true
LINK_FILTERING_ENABLED=true
# Allowed Domains for Link Filtering
ALLOWED_DOMAINS=youtube.com,twitch.tv,twitter.com,instagram.com,github.com
# Blocked IPs (comma-separated)
BLOCKED_IPS=
# Trusted Proxies (comma-separated)
TRUSTED_PROXIES=127.0.0.1,::1
# Audit Trail Configuration
AUDIT_RETENTION_DAYS=2555
SECURITY_LOG_RETENTION_DAYS=2555
GENERAL_LOG_RETENTION_DAYS=1095
# Security Monitoring
SECURITY_ALERT_WEBHOOK_URL=
CRITICAL_ALERT_EMAIL=security@streamvault.app
SECURITY_TEAM_SLACK_WEBHOOK=
# Feature Flags
ENABLE_AI_FEATURES=true
ENABLE_WHITE_LABEL=true
ENABLE_ANALYTICS=true
ENABLE_PWA=true
ENABLE_OFFLINE_DOWNLOADS=true
# Development Configuration
NEXT_PUBLIC_DEBUG_MODE=false
LOG_LEVEL=info
ENABLE_PERFORMANCE_MONITORING=true
# Third-party Integrations
SENTRY_DSN=https://...
ANALYTICS_ID=G-...
HOTJAR_ID=...
# Email Configuration (for notifications)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=noreply@streamvault.app
SMTP_PASS=...
# Rate Limiting
RATE_LIMIT_WINDOW_MS=60000
RATE_LIMIT_MAX_REQUESTS=100
# Content Delivery
MAX_FILE_SIZE=5368709120
ALLOWED_FILE_TYPES=mp4,mov,avi,mkv,webm
THUMBNAIL_SIZES=320x180,640x360,1280x720
# Monitoring and Logging
DATADOG_API_KEY=...
NEW_RELIC_LICENSE_KEY=...
PROMETHEUS_ENDPOINT=http://localhost:9090