Troubleshooting#
Service Will Not Start#
Confirm port
8082is not already in use:ss -ltnp | grep 8082
Confirm both config files exist and are valid YAML. The service loads
scene-config.yamlandrules.yamlfrom/app/configs(orCONFIG_DIR, or theconfigs/directory next to the source in standalone runs).
No Sessions / No Alerts Appear#
This usually means the service is running but not receiving Scenescape events.
Verify the MQTT broker is reachable and that
mqtt.host/mqtt.portinscene-config.yamlare correct.Check the logs for connection retries:
docker compose logs -f scene-understanding-service
Confirm the Scenescape topic patterns in
scene-config.yamlmatch your Scenescape deployment.Confirm the configured
camerasmatch the camera names Scenescape publishes — persons seen only on non-configured cameras are not tracked.
Zones Not Resolving#
Zone auto-discovery runs at startup against the Scenescape REST API.
Confirm
scenescape_api.base_urlis correct and reachable.Provide
SCENESCAPE_API_USER/SCENESCAPE_API_PASSWORD.The zone names in
scene-config.yamlmust match the Scenescape region names exactly.Re-trigger discovery without restarting:
curl --noproxy '*' -X POST http://127.0.0.1:8082/api/v1/sus/zones/discover
MQTT TLS Connection Fails#
TLS is used only when
mqtt.use_tls: true. When off,mqtt.ca_cert_pathis ignored.When on, the CA cert is resolved relative to
/app(e.g.secrets/certs/scenescape-ca.pem→/app/secrets/certs/scenescape-ca.pem).The cert is not in the image — mount it via a volume (e.g.
./secrets:/app/secrets:ro). If the resolved path does not exist, the connection fails at startup.
health Endpoint Fails#
For Docker: check
docker compose psanddocker compose logs -f scene-understanding-service.For standalone: confirm the process is running and bound to the expected host/port (defaults
0.0.0.0:8082).If you are behind a corporate proxy, pass
--noproxy '*'tocurlwhen hitting127.0.0.1.
Alerts Not Delivered#
Alerts are forwarded to the alert-service at
ALERT_SERVICE_URL(oralert_service.base_url). Confirm that service is reachable.If
alert_service.enabledisfalse, alerts are generated but not forwarded. The/api/v1/sus/alertsendpoints will then return empty.
Behavioral Analysis Not Triggering#
A
rules.yamlrule must contain anescalateaction targetingbehavioral_analysis. Without it, noba/requestsare published.The
seaweedfsblock must be present so evidence frames can be captured.The behavioral-analysis worker must share the same MQTT broker (
ba/requests/ba/results).