# VoxWatch — AI-Powered Security Audio Deterrent # # Quick Start: # 1. docker compose up -d # 2. Open http://your-host:33344 # 3. The setup wizard handles everything else # # No configuration needed before first run. The web wizard discovers # Frigate, MQTT, cameras, and walks you through AI/TTS/mode selection. # # The dashboard is OPTIONAL after initial setup. VoxWatch runs # independently using config.yaml. Stop the dashboard to save # resources — your deterrent system keeps working. services: # ── Core Deterrent Service ────────────────────────────────────────────── # Listens for Frigate person detections, runs AI analysis, # generates TTS audio, pushes to camera speakers. voxwatch: container_name: voxwatch image: ghcr.io/badbread/voxwatch:latest # build: . # Uncomment to build from source instead restart: unless-stopped network_mode: host environment: - "TZ=America/Los_Angeles" # Change to your timezone - "PYTHONUNBUFFERED=1" # API keys can be set here OR entered in the dashboard (recommended): # - "GEMINI_API_KEY=your-key" # - "OPENAI_API_KEY=your-key" # - "ELEVENLABS_API_KEY=your-key" volumes: - ./config:/config - ./data:/data mem_limit: 512m cpus: 2.0 logging: driver: json-file options: max-size: "10m" max-file: "3" # ── Web Dashboard (optional after setup) ──────────────────────────────── # First run: setup wizard auto-discovers Frigate and guides configuration. # After setup: config editor, camera management, audio testing, logs. # Safe to stop once you're happy with your configuration. voxwatch-dashboard: container_name: voxwatch-dashboard image: ghcr.io/badbread/voxwatch-dashboard:latest # build: dashboard/ # Uncomment to build from source instead restart: unless-stopped network_mode: host environment: - "DASHBOARD_PORT=33344" - "TZ=America/Los_Angeles" # Protect the dashboard with a token (recommended for remote access): # - "DASHBOARD_API_KEY=your-secret-token" volumes: - ./config:/config - ./data:/data:ro mem_limit: 256m cpus: 1.0 logging: driver: json-file options: max-size: "10m" max-file: "3"