Files
wifi-densepose/example.env
rUv 90f03bac7d feat: Implement hardware, pose, and stream services for WiFi-DensePose API
- Added HardwareService for managing router interfaces, data collection, and monitoring.
- Introduced PoseService for processing CSI data and estimating poses using neural networks.
- Created StreamService for real-time data streaming via WebSocket connections.
- Implemented initialization, start, stop, and status retrieval methods for each service.
- Added data processing, error handling, and statistics tracking across services.
- Integrated mock data generation for development and testing purposes.
2025-06-07 12:47:54 +00:00

183 lines
6.4 KiB
Bash

# WiFi-DensePose API Environment Configuration Template
# Copy this file to .env and modify the values according to your setup
# =============================================================================
# APPLICATION SETTINGS
# =============================================================================
# Application metadata
APP_NAME=WiFi-DensePose API
VERSION=1.0.0
ENVIRONMENT=development # Options: development, staging, production
DEBUG=true
# =============================================================================
# SERVER SETTINGS
# =============================================================================
# Server configuration
HOST=0.0.0.0
PORT=8000
RELOAD=true # Auto-reload on code changes (development only)
WORKERS=1 # Number of worker processes
# =============================================================================
# SECURITY SETTINGS
# =============================================================================
# IMPORTANT: Change these values for production!
SECRET_KEY=your-secret-key-here-change-for-production
JWT_ALGORITHM=HS256
JWT_EXPIRE_HOURS=24
# Allowed hosts (restrict in production)
ALLOWED_HOSTS=* # Use specific domains in production: example.com,api.example.com
# CORS settings (restrict in production)
CORS_ORIGINS=* # Use specific origins in production: https://example.com,https://app.example.com
# =============================================================================
# DATABASE SETTINGS
# =============================================================================
# Database connection (optional - defaults to SQLite in development)
# DATABASE_URL=postgresql://user:password@localhost:5432/wifi_densepose
# DATABASE_POOL_SIZE=10
# DATABASE_MAX_OVERFLOW=20
# =============================================================================
# REDIS SETTINGS (Optional - for caching and rate limiting)
# =============================================================================
# Redis connection (optional - defaults to localhost in development)
# REDIS_URL=redis://localhost:6379/0
# REDIS_PASSWORD=your-redis-password
# REDIS_DB=0
# =============================================================================
# HARDWARE SETTINGS
# =============================================================================
# WiFi interface configuration
WIFI_INTERFACE=wlan0
CSI_BUFFER_SIZE=1000
HARDWARE_POLLING_INTERVAL=0.1
# Hardware mock settings (for development/testing)
MOCK_HARDWARE=true
MOCK_POSE_DATA=true
# =============================================================================
# POSE ESTIMATION SETTINGS
# =============================================================================
# Model configuration
# POSE_MODEL_PATH=/path/to/your/pose/model.pth
POSE_CONFIDENCE_THRESHOLD=0.5
POSE_PROCESSING_BATCH_SIZE=32
POSE_MAX_PERSONS=10
# =============================================================================
# STREAMING SETTINGS
# =============================================================================
# Real-time streaming configuration
STREAM_FPS=30
STREAM_BUFFER_SIZE=100
WEBSOCKET_PING_INTERVAL=60
WEBSOCKET_TIMEOUT=300
# =============================================================================
# FEATURE FLAGS
# =============================================================================
# Enable/disable features
ENABLE_AUTHENTICATION=false # Set to true for production
ENABLE_RATE_LIMITING=false # Set to true for production
ENABLE_WEBSOCKETS=true
ENABLE_REAL_TIME_PROCESSING=true
ENABLE_HISTORICAL_DATA=true
# Development features
ENABLE_TEST_ENDPOINTS=true # Set to false for production
# =============================================================================
# RATE LIMITING SETTINGS
# =============================================================================
# Rate limiting configuration
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_AUTHENTICATED_REQUESTS=1000
RATE_LIMIT_WINDOW=3600 # Window in seconds
# =============================================================================
# LOGGING SETTINGS
# =============================================================================
# Logging configuration
LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_FORMAT=%(asctime)s - %(name)s - %(levelname)s - %(message)s
# LOG_FILE=/path/to/logfile.log # Optional: specify log file path
LOG_MAX_SIZE=10485760 # 10MB
LOG_BACKUP_COUNT=5
# =============================================================================
# STORAGE SETTINGS
# =============================================================================
# Storage directories
DATA_STORAGE_PATH=./data
MODEL_STORAGE_PATH=./models
TEMP_STORAGE_PATH=./temp
MAX_STORAGE_SIZE_GB=100
# =============================================================================
# MONITORING SETTINGS
# =============================================================================
# Monitoring and metrics
METRICS_ENABLED=true
HEALTH_CHECK_INTERVAL=30
PERFORMANCE_MONITORING=true
# =============================================================================
# API SETTINGS
# =============================================================================
# API configuration
API_PREFIX=/api/v1
DOCS_URL=/docs # Set to null to disable in production
REDOC_URL=/redoc # Set to null to disable in production
OPENAPI_URL=/openapi.json # Set to null to disable in production
# =============================================================================
# PRODUCTION SETTINGS
# =============================================================================
# For production deployment, ensure you:
# 1. Set ENVIRONMENT=production
# 2. Set DEBUG=false
# 3. Use a strong SECRET_KEY
# 4. Configure proper DATABASE_URL
# 5. Restrict ALLOWED_HOSTS and CORS_ORIGINS
# 6. Enable ENABLE_AUTHENTICATION=true
# 7. Enable ENABLE_RATE_LIMITING=true
# 8. Set ENABLE_TEST_ENDPOINTS=false
# 9. Disable API documentation URLs (set to null)
# 10. Configure proper logging with LOG_FILE
# Example production settings:
# ENVIRONMENT=production
# DEBUG=false
# SECRET_KEY=your-very-secure-secret-key-here
# DATABASE_URL=postgresql://user:password@db-host:5432/wifi_densepose
# REDIS_URL=redis://redis-host:6379/0
# ALLOWED_HOSTS=yourdomain.com,api.yourdomain.com
# CORS_ORIGINS=https://yourdomain.com,https://app.yourdomain.com
# ENABLE_AUTHENTICATION=true
# ENABLE_RATE_LIMITING=true
# ENABLE_TEST_ENDPOINTS=false
# DOCS_URL=null
# REDOC_URL=null
# OPENAPI_URL=null
# LOG_FILE=/var/log/wifi-densepose/app.log