Skip to main content

πŸ”₯ Inference Client

Wildfire detection inference client that processes camera images using Triton Inference Server.

Environment Variables​

The inference client requires various environment variables for configuration. Copy client/.env.example to client/.env and configure the values.

Timezone​

  • TZ - Container timezone (default: Etc/UTC)

Inference / Triton​

  • TRITON_URL - Triton Inference Server URL (default: triton:8000)

Source Toggles​

  • FIRECAMS_ENABLE - Enable Firecams source (default: true)
  • ALERTCA_ENABLE - Enable AlertCA source (default: true)
  • ALERTCA_PANORAMA_ENABLE - Enable AlertCA panorama processing (default: true)
  • FIRECAMS_PANORAMA_ENABLE - Enable Firecams panorama processing (default: true)

Firecams API​

  • FIRECAMS_BASE - Firecams API base URL (default: https://data.alertcalifornia.org)
  • FIRECAMS_API_KEY - Firecams API key (required)
  • FIRECAMS_STALE_IMAGE_MAX_DAYS - Maximum age for stale images in days (default: 14)

AlertCA PRD​

  • ALERTCA_PRD_BASE - AlertCA API base URL

Autodiscovery & Refresh​

  • ALERTCA_AUTODISCOVER - Auto-discover AlertCA cameras (default: true)
  • FIRECAMS_AUTODISCOVER - Auto-discover Firecams cameras (default: true)
  • ALERTCA_PANORAMA_AUTODISCOVER - Auto-discover AlertCA panorama cameras (default: true)
  • FIRECAMS_PANORAMA_AUTODISCOVER - Auto-discover Firecams panorama cameras (default: true)
  • CAMERAS_REFRESH_MIN - Camera list refresh interval in minutes (default: 60)

Client Behavior​

VariableDefaultDescription
POLL_SECONDS50Polling interval in seconds
ALERTCA_PANORAMA_POLL_SECONDS120AlertCA panorama polling interval
FIRECAMS_PANORAMA_POLL_SECONDS120Firecams panorama polling interval
ASYNC_CONCURRENCY32Async concurrency limit
CLIENT_BATCH_SIZE64Batch size for inference
POSTPROC_WORKERS64Post-processing worker count
POSTPROC_MAX_OUTSTANDING4096Max outstanding post-processing tasks
USE_TRITON_SHMtrueUse Triton shared memory

Async Fetch Concurrency​

  • FETCH_MAX_IN_FLIGHT - Global in-flight HTTP requests limit (default: 600)
  • FETCH_PER_HOST_LIMIT - Per-host socket cap (default: 150)

Output Paths​

  • LABELS_FILE - Path to class mapping file (default: /app/labels/class_mapping.txt)

Storage Backend​

  • STORAGE_BACKEND - Storage backend type: local or azure (default: azure)
  • OUTPUT_DIR - Output directory path (default: /app/output)

Azure Storage (when STORAGE_BACKEND=azure)​

  • AZURE_STORAGE_ACCOUNT_URL - Azure Storage account URL (required)
  • AZURE_STORAGE_CONTAINER - Container name (default: output)
  • AZURE_URL_EXPIRES_SECS - SAS token expiration in seconds (default: 3600)

Inference Tuning​

VariableDefaultDescription
CONF_THRES0.30Confidence threshold
IOU_THRES0.55IOU threshold for NMS
MAX_DET50Maximum detections
CLASS_AWARE_NMStrueUse class-aware NMS
MODEL_NAMEai4gsmokefirev1Triton model name
MODEL_VER5Model version
DEBUGfalseEnable debug mode

Camera Static Cache​

  • CAMERA_STATIC_REFRESH_MIN - Static camera data refresh interval in minutes (default: 60)

Firecams Panorama​

  • FIRECAMS_PANORAMA_BASE - Firecams panorama API base URL
  • FIRECAMS_PANORAMA_API_KEY - Firecams panorama API key (required)
  • FIRECAMS_PANORAMA_SEGMENTS - Number of panorama segments (default: 6)

Database​

  • DB_BACKEND - Database backend type (default: postgres)
  • DB_AUTOCREATE - Auto-create database if not exists (default: true)
  • DB_HOST - Database host (default: db)
  • DB_PORT - Database port (default: 5432)
  • DB_NAME - Database name (default: calfire)
  • DB_USER - Database user
  • DB_PASSWORD - Database password

Logging​

  • LOG_DIR - Log directory path (default: /app/logs)

Configuration Notes​

  • All environment variables are defined in client/.env file
  • API keys must be obtained from Firecams/AlertCA services
  • Changing environment variables requires container restart (not image rebuild)