π₯ 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β
| Variable | Default | Description |
|---|---|---|
POLL_SECONDS | 50 | Polling interval in seconds |
ALERTCA_PANORAMA_POLL_SECONDS | 120 | AlertCA panorama polling interval |
FIRECAMS_PANORAMA_POLL_SECONDS | 120 | Firecams panorama polling interval |
ASYNC_CONCURRENCY | 32 | Async concurrency limit |
CLIENT_BATCH_SIZE | 64 | Batch size for inference |
POSTPROC_WORKERS | 64 | Post-processing worker count |
POSTPROC_MAX_OUTSTANDING | 4096 | Max outstanding post-processing tasks |
USE_TRITON_SHM | true | Use 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:localorazure(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β
| Variable | Default | Description |
|---|---|---|
CONF_THRES | 0.30 | Confidence threshold |
IOU_THRES | 0.55 | IOU threshold for NMS |
MAX_DET | 50 | Maximum detections |
CLASS_AWARE_NMS | true | Use class-aware NMS |
MODEL_NAME | ai4gsmokefirev1 | Triton model name |
MODEL_VER | 5 | Model version |
DEBUG | false | Enable 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 URLFIRECAMS_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 userDB_PASSWORD- Database password
Loggingβ
LOG_DIR- Log directory path (default:/app/logs)
Configuration Notesβ
- All environment variables are defined in
client/.envfile - API keys must be obtained from Firecams/AlertCA services
- Changing environment variables requires container restart (not image rebuild)