-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
153 lines (128 loc) · 3.58 KB
/
.env.example
File metadata and controls
153 lines (128 loc) · 3.58 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
# BIOTACT PRODUCTION ENVIRONMENT CONFIGURATION
# Copy this file to .env and fill in the actual values
# Environment
NODE_ENV=production
DEBUG=false
# API Keys (REQUIRED)
OPENAI_API_KEY=sk-proj-xxxxx
CLAUDE_API_KEY=sk-ant-api03-xxxxx
# Database Configuration
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=biotact_production
POSTGRES_USER=biotact_admin
POSTGRES_PASSWORD=CHANGE_THIS_STRONG_PASSWORD
POSTGRES_MAX_CONNECTIONS=100
# Database Replicas (for read scaling)
POSTGRES_REPLICA1_HOST=postgres-replica1
POSTGRES_REPLICA2_HOST=postgres-replica2
# Redis Configuration
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=CHANGE_THIS_REDIS_PASSWORD
REDIS_DB=0
REDIS_MAX_CONNECTIONS=50
# Qdrant Configuration
QDRANT_HOST=qdrant
QDRANT_PORT=6333
QDRANT_API_KEY=CHANGE_THIS_QDRANT_KEY
QDRANT_COLLECTION_NAME=biotact_vectors
QDRANT_COLLECTION_SIZE=3072 # text-embedding-3-large dimensions
# JWT Configuration
JWT_SECRET_KEY=CHANGE_THIS_VERY_LONG_RANDOM_STRING_MIN_64_CHARS
JWT_ALGORITHM=RS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=480 # 8 hours
JWT_REFRESH_TOKEN_EXPIRE_DAYS=30
# Security
SECRET_KEY=CHANGE_THIS_ANOTHER_VERY_LONG_RANDOM_STRING
ALLOWED_HOSTS=biotact.local,api.biotact.local
CORS_ORIGINS=https://biotact.local,https://app.biotact.local
RATE_LIMIT_PER_MINUTE=100
# 2FA Configuration
TOTP_ISSUER=Biotact Production
TOTP_ALGORITHM=SHA256
# OpenAI Configuration
OPENAI_EMBEDDING_MODEL=text-embedding-3-large
OPENAI_EMBEDDING_DIMENSIONS=3072
OPENAI_EMBEDDING_BATCH_SIZE=100
OPENAI_MAX_RETRIES=3
OPENAI_TIMEOUT=30
# Claude Configuration
CLAUDE_MODEL=claude-3-5-sonnet-20241022
CLAUDE_MAX_TOKENS=2000
CLAUDE_TEMPERATURE=0.3
CLAUDE_TIMEOUT=60
# Application Settings
APP_NAME="Biotact Knowledge Base"
APP_VERSION=1.0.0
API_PREFIX=/api/v1
DOCS_URL=/api/docs
REDOC_URL=/api/redoc
# Pagination
DEFAULT_PAGE_SIZE=20
MAX_PAGE_SIZE=100
# File Upload
MAX_UPLOAD_SIZE_MB=100
ALLOWED_UPLOAD_EXTENSIONS=.txt,.pdf,.docx,.xlsx,.csv
# Logging
LOG_LEVEL=INFO
LOG_FORMAT=json
LOG_FILE=/logs/app/biotact.log
LOG_MAX_SIZE_MB=100
LOG_BACKUP_COUNT=10
# Monitoring
PROMETHEUS_ENABLED=true
PROMETHEUS_PORT=9090
GRAFANA_ENABLED=true
GRAFANA_PORT=3000
GRAFANA_ADMIN_PASSWORD=CHANGE_THIS_GRAFANA_PASSWORD
# Elasticsearch (for logging)
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_INDEX_PREFIX=biotact-logs
# Sentry (error tracking)
SENTRY_DSN=https://xxxxx@sentry.io/xxxxx
SENTRY_ENVIRONMENT=production
SENTRY_TRACES_SAMPLE_RATE=0.1
# Backup Configuration
BACKUP_ENABLED=true
BACKUP_SCHEDULE="0 2 * * *" # Daily at 2 AM
BACKUP_RETENTION_DAYS=30
BACKUP_S3_BUCKET=biotact-backups
AWS_ACCESS_KEY_ID=AKIAXXXXX
AWS_SECRET_ACCESS_KEY=xxxxx
AWS_REGION=us-east-1
# Email (for notifications)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=biotact.notifications@gmail.com
SMTP_PASSWORD=CHANGE_THIS_APP_PASSWORD
SMTP_FROM_EMAIL=biotact.notifications@gmail.com
SMTP_FROM_NAME="Biotact System"
# Admin Users (initial setup)
ADMIN_EMAIL=admin@biotact.com
ADMIN_PASSWORD=CHANGE_THIS_INITIAL_PASSWORD
ADMIN_FULL_NAME="System Administrator"
# Feature Flags
ENABLE_2FA=true
ENABLE_AUDIT_LOG=true
ENABLE_CACHE=true
ENABLE_RATE_LIMITING=true
ENABLE_COMPLIANCE_CHECK=true
ENABLE_CROSS_SELLS=true
# Performance
WORKERS=4 # Number of API workers
WORKER_CONNECTIONS=1000
WORKER_TIMEOUT=120
CACHE_TTL_SECONDS=86400 # 24 hours
VECTOR_SEARCH_LIMIT=20
MIN_SIMILARITY_SCORE=0.7
# Compliance Settings
COMPLIANCE_LEVEL=5 # 1-5, where 5 is strictest
BLOCK_UNSAFE_QUERIES=true
LOG_COMPLIANCE_VIOLATIONS=true
# Business Rules
MIN_PRODUCT_MARGIN=0.25 # 25% minimum margin for recommendations
MAX_CROSS_SELL_ITEMS=5
DEFAULT_LANGUAGE=ru
SUPPORTED_LANGUAGES=ru,uz,en