# 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