# vixy-vision Server Configuration # Copy to .env and customize # ============ Required ============ # API Key for authentication (generate with: python3 -c 'import secrets; print(secrets.token_urlsafe(32))') API_KEY=your-secret-key-here # Camera identifier (used in events and API responses) CAMERA_ID=basement # ============ Service Settings ============ # Service name for systemd (allows multiple instances) SERVICE_NAME=vixy-vision-basement # Port to run on (each instance needs unique port) PORT=8443 # ============ Camera Settings ============ # Camera device index (0 = /dev/video0, 2 = /dev/video2, etc.) CAMERA_INDEX=0 # Resolution (camera will use closest supported) CAMERA_WIDTH=1920 CAMERA_HEIGHT=1080 # JPEG quality (1-100) JPEG_QUALITY=85 # ============ Motion Detection ============ # Enable motion detection (true/false) MOTION_ENABLED=true # Pixel difference threshold (lower = more sensitive) MOTION_THRESHOLD=25 # Minimum % of frame that must change to trigger event MOTION_MIN_AREA=0.5 # Seconds between motion events (prevents spam) MOTION_COOLDOWN=5.0 # Seconds between frame checks MOTION_INTERVAL=0.5 # ============ Object Detection ============ # Enable AI object detection (requires tflite-runtime and model download) # When enabled, motion triggers object detection to identify what moved. # Events with no detected objects are suppressed (configurable). DETECTION_ENABLED=false # Minimum confidence for a detection (0.0-1.0, lower = more detections) DETECTION_CONFIDENCE=0.5 # Suppress events where motion is detected but no objects found # Set to false to keep reporting all motion events DETECTION_SUPPRESS_EMPTY=true # ============ Event Collector ============ # URL to POST motion events to (collector on Mac mini) COLLECTOR_URL=http://macmini.local:8780/events # API key for collector (optional) COLLECTOR_API_KEY=