forked from pinkycollie/pinkflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.env
More file actions
198 lines (167 loc) · 4.92 KB
/
Copy pathconfig.example.env
File metadata and controls
198 lines (167 loc) · 4.92 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# PinkFlow Configuration Example
# Copy this file to .env and fill in your values
# NEVER commit .env files to version control!
# ====================
# General Configuration
# ====================
APP_NAME=PinkFlow
APP_ENV=development
DEBUG=True
SECRET_KEY=your-secret-key-change-in-production
# ====================
# Database Configuration
# ====================
DATABASE_URL=postgresql://user:password@localhost:5432/pinkflow
DATABASE_POOL_SIZE=10
DATABASE_MAX_OVERFLOW=20
# ====================
# Authentication
# ====================
JWT_SECRET=your-jwt-secret-key-change-in-production
JWT_ALGORITHM=HS256
JWT_EXPIRATION_MINUTES=60
# DeafAuth Configuration
DEAFAUTH_ENABLED=True
DEAFAUTH_CLIENT_ID=your-deafauth-client-id
DEAFAUTH_CLIENT_SECRET=your-deafauth-client-secret
# ====================
# Server Configuration
# ====================
HOST=0.0.0.0
PORT=8000
API_PREFIX=/api
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173
# ====================
# Sign Language Feedback Configuration
# ====================
# Storage Provider (Options: aws_s3, firebase, gcs, local)
FEEDBACK_STORAGE_PROVIDER=aws_s3
# AWS S3 Configuration (if using AWS S3)
AWS_S3_BUCKET=pinkflow-feedback
AWS_S3_REGION=us-east-1
AWS_ACCESS_KEY_ID=your-aws-access-key
AWS_SECRET_ACCESS_KEY=your-aws-secret-key
AWS_S3_BASE_URL=https://pinkflow-feedback.s3.amazonaws.com
AWS_CLOUDFRONT_DOMAIN=https://d1234567890.cloudfront.net
# Firebase Configuration (if using Firebase)
FIREBASE_STORAGE_BUCKET=pinkflow-feedback.appspot.com
FIREBASE_CREDENTIALS_PATH=/path/to/firebase-credentials.json
FIREBASE_BASE_URL=https://firebasestorage.googleapis.com
# Google Cloud Storage Configuration (if using GCS)
GCS_BUCKET=pinkflow-feedback
GCS_CREDENTIALS_PATH=/path/to/gcs-credentials.json
GCS_BASE_URL=https://storage.googleapis.com/pinkflow-feedback
# Video Upload Limits
FEEDBACK_MAX_FILE_SIZE=104857600 # 100 MB in bytes
FEEDBACK_MIN_DURATION=1.0 # 1 second
FEEDBACK_MAX_DURATION=300.0 # 5 minutes
FEEDBACK_ALLOWED_FORMATS=.mp4,.mov,.webm
# Storage Configuration
FEEDBACK_STORAGE_PATH=feedback/
FEEDBACK_THUMBNAIL_SIZE=1280x720
FEEDBACK_VIDEO_QUALITY=high
# ====================
# Real-time Notifications (PubSub)
# ====================
PUBSUB_ENABLED=True
PUBSUB_TYPE=phoenix_pubsub # Options: phoenix_pubsub, redis_pubsub, kafka
# Phoenix PubSub Configuration
PHOENIX_PUBSUB_URL=ws://localhost:4000/socket
PHOENIX_PUBSUB_CHANNEL=feedback:notifications
PHOENIX_PUBSUB_ADMIN_CHANNEL=admin:notifications
# Redis Configuration (for scaling PubSub)
REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=
REDIS_DB=0
# Kafka Configuration (if using Kafka)
KAFKA_BOOTSTRAP_SERVERS=localhost:9092
KAFKA_TOPIC=pinkflow-feedback
# ====================
# Video Processing
# ====================
VIDEO_PROCESSING_ENABLED=True
VIDEO_PROCESSING_QUEUE=video-processing
VIDEO_TRANSCODING_ENABLED=True
VIDEO_RESOLUTIONS=720p,480p,360p
VIDEO_THUMBNAIL_COUNT=3
VIDEO_THUMBNAIL_FORMAT=jpg
# FFmpeg Configuration
FFMPEG_PATH=/usr/bin/ffmpeg
FFMPEG_THREADS=4
# ====================
# Rate Limiting
# ====================
RATE_LIMIT_ENABLED=True
RATE_LIMIT_AUTH_PER_MINUTE=5
RATE_LIMIT_READ_PER_MINUTE=100
RATE_LIMIT_WRITE_PER_MINUTE=30
RATE_LIMIT_UPLOAD_PER_HOUR=5
# ====================
# External APIs
# ====================
GEMINI_API_KEY=your-gemini-api-key
GEMINI_API_URL=https://generativelanguage.googleapis.com/v1
# ====================
# Frontend Configuration
# ====================
FRONTEND_URL=http://localhost:3000
WEBSOCKET_URL=ws://localhost:3001
# ====================
# Monitoring & Logging
# ====================
LOG_LEVEL=INFO
LOG_FORMAT=json
SENTRY_DSN=
SENTRY_ENVIRONMENT=development
# Analytics
ANALYTICS_ENABLED=True
GOOGLE_ANALYTICS_ID=
# ====================
# Security
# ====================
CORS_ENABLED=True
CSRF_ENABLED=True
SECURE_COOKIES=True
HTTPS_ONLY=False # Set to True in production
# Content Security Policy
CSP_ENABLED=True
CSP_DIRECTIVES=default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'
# File Upload Security
MALWARE_SCANNING_ENABLED=False # Enable in production
MALWARE_SCANNER_API_KEY=
# ====================
# Email Configuration (for notifications)
# ====================
EMAIL_ENABLED=False
EMAIL_FROM=noreply@pinkflow.dev
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_TLS=True
# ====================
# Admin Configuration
# ====================
ADMIN_EMAIL=admin@pinkflow.dev
ADMIN_NOTIFICATION_EMAIL=True
ADMIN_NOTIFICATION_WEBHOOK=
# ====================
# Feature Flags
# ====================
FEATURE_FEEDBACK_ENABLED=True
FEATURE_GOVERNANCE_ENABLED=True
FEATURE_WORKSPACE_ENABLED=True
FEATURE_AI_ENABLED=True
# ====================
# Backup & Recovery
# ====================
BACKUP_ENABLED=False
BACKUP_SCHEDULE=0 2 * * * # Daily at 2 AM
BACKUP_RETENTION_DAYS=30
BACKUP_S3_BUCKET=pinkflow-backups
# ====================
# Development Tools
# ====================
DEV_TOOLS_ENABLED=True
API_DOCS_ENABLED=True
SWAGGER_UI_ENABLED=True