Files
virtual_board_member/env.example
2025-08-07 16:11:14 -04:00

154 lines
3.9 KiB
Plaintext

# Application Configuration
APP_NAME=Virtual Board Member AI
APP_VERSION=0.1.0
ENVIRONMENT=development
DEBUG=true
LOG_LEVEL=INFO
# Server Configuration
HOST=0.0.0.0
PORT=8000
WORKERS=4
RELOAD=true
# Security Configuration
SECRET_KEY=your-super-secret-key-change-in-production
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
REFRESH_TOKEN_EXPIRE_DAYS=7
# Database Configuration
DATABASE_URL=postgresql://vbm_user:vbm_password@localhost:5432/vbm_db
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=30
DATABASE_POOL_TIMEOUT=30
# Redis Configuration
REDIS_URL=redis://localhost:6379/0
REDIS_PASSWORD=
REDIS_DB=0
REDIS_POOL_SIZE=10
# Qdrant Vector Database
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY=
QDRANT_COLLECTION_NAME=board_documents
QDRANT_VECTOR_SIZE=1024
# LLM Configuration (OpenRouter)
OPENROUTER_API_KEY=your-openrouter-api-key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_MODEL=gpt-4o-mini
OPENROUTER_FALLBACK_MODEL=gpt-3.5-turbo
OPENROUTER_MAX_TOKENS=4000
OPENROUTER_TEMPERATURE=0.1
# Document Processing
MAX_FILE_SIZE=104857600 # 100MB in bytes
SUPPORTED_FORMATS=pdf,xlsx,csv,pptx,txt
BATCH_UPLOAD_LIMIT=50
OCR_ENABLED=true
TESSERACT_CMD=/usr/bin/tesseract
# Storage Configuration (S3/MinIO)
STORAGE_TYPE=minio # minio or s3
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET=vbm-documents
MINIO_SECURE=false
# AWS S3 Configuration (if using S3)
AWS_ACCESS_KEY_ID=your-aws-access-key
AWS_SECRET_ACCESS_KEY=your-aws-secret-key
AWS_REGION=us-east-1
S3_BUCKET=vbm-documents
# Authentication (OAuth 2.0/OIDC)
AUTH_PROVIDER=auth0 # auth0, cognito, or custom
AUTH0_DOMAIN=your-domain.auth0.com
AUTH0_CLIENT_ID=your-client-id
AUTH0_CLIENT_SECRET=your-client-secret
AUTH0_AUDIENCE=your-api-audience
# AWS Cognito Configuration (if using Cognito)
COGNITO_USER_POOL_ID=your-user-pool-id
COGNITO_CLIENT_ID=your-client-id
COGNITO_REGION=us-east-1
# Email Configuration
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-password
SMTP_TLS=true
EMAIL_FROM=noreply@yourcompany.com
# Monitoring and Logging
PROMETHEUS_ENABLED=true
PROMETHEUS_PORT=9090
GRAFANA_PORT=3000
LOG_FORMAT=json
LOG_FILE=logs/app.log
# Message Queue (Kafka)
KAFKA_BOOTSTRAP_SERVERS=localhost:9092
KAFKA_TOPIC_DOCUMENT_PROCESSING=vbm-document-processing
KAFKA_TOPIC_COMMITMENT_EXTRACTION=vbm-commitment-extraction
KAFKA_TOPIC_NOTIFICATIONS=vbm-notifications
# Celery Configuration
CELERY_BROKER_URL=redis://localhost:6379/1
CELERY_RESULT_BACKEND=redis://localhost:6379/2
CELERY_TASK_SERIALIZER=json
CELERY_RESULT_SERIALIZER=json
CELERY_ACCEPT_CONTENT=json
CELERY_TIMEZONE=UTC
CELERY_ENABLE_UTC=true
# External Integrations
SHAREPOINT_CLIENT_ID=your-sharepoint-client-id
SHAREPOINT_CLIENT_SECRET=your-sharepoint-client-secret
SHAREPOINT_TENANT_ID=your-tenant-id
SHAREPOINT_SITE_URL=https://yourcompany.sharepoint.com/sites/board
GOOGLE_DRIVE_CLIENT_ID=your-google-client-id
GOOGLE_DRIVE_CLIENT_SECRET=your-google-client-secret
GOOGLE_DRIVE_REDIRECT_URI=http://localhost:8000/auth/google/callback
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
SLACK_SIGNING_SECRET=your-slack-signing-secret
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/your/webhook/url
# Microsoft Graph API
MICROSOFT_CLIENT_ID=your-microsoft-client-id
MICROSOFT_CLIENT_SECRET=your-microsoft-client-secret
MICROSOFT_TENANT_ID=your-tenant-id
# Performance Configuration
CACHE_TTL=3600 # 1 hour
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=60 # seconds
MAX_CONCURRENT_REQUESTS=50
# Feature Flags
FEATURE_COMMITMENT_TRACKING=true
FEATURE_RISK_ANALYSIS=true
FEATURE_MEETING_SUPPORT=true
FEATURE_REAL_TIME_QUERIES=true
FEATURE_BATCH_PROCESSING=true
# Compliance and Security
ENABLE_AUDIT_LOGGING=true
ENABLE_PII_DETECTION=true
DATA_RETENTION_DAYS=2555 # 7 years
ENCRYPTION_ENABLED=true
BACKUP_ENABLED=true
# Development and Testing
TESTING=false
MOCK_LLM_RESPONSES=false
SYNTHETIC_DATA_ENABLED=true
SEED_DATA_ENABLED=true