154 lines
3.2 KiB
YAML
154 lines
3.2 KiB
YAML
## frigate-notify config
|
|
## Docs: https://frigate-notify.0x2142.com
|
|
##
|
|
## Secrets and per-deployment values come from .env via the FN_* env vars.
|
|
## frigate-notify uses Viper-style env var lookup with DOUBLE underscores
|
|
## between YAML levels:
|
|
## frigate.server -> FN_FRIGATE__SERVER
|
|
## frigate.public_url -> FN_FRIGATE__PUBLIC_URL
|
|
## frigate.mqtt.password -> FN_FRIGATE__MQTT__PASSWORD
|
|
## alerts.ntfy.server -> FN_ALERTS__NTFY__SERVER
|
|
|
|
frigate:
|
|
server: # FN_FRIGATE__SERVER
|
|
ignoressl: true
|
|
public_url: # FN_FRIGATE__PUBLIC_URL
|
|
headers:
|
|
|
|
startup_check:
|
|
attempts: 5
|
|
interval: 30
|
|
|
|
webapi:
|
|
enabled: false # MQTT below is the primary event source
|
|
interval: 5
|
|
|
|
mqtt:
|
|
enabled: true
|
|
server: mosquitto # docker DNS name; constant for this stack
|
|
port: 1883
|
|
clientid: frigate-notify
|
|
username: frigate
|
|
password: # FN_FRIGATE__MQTT__PASSWORD
|
|
topic_prefix: frigate
|
|
|
|
cameras:
|
|
exclude:
|
|
|
|
|
|
alerts:
|
|
general:
|
|
# Title shows the recognized name (face recognition or LPR) when present,
|
|
# otherwise the generic label. Camera names are auto-titlecased by
|
|
# frigate-notify.
|
|
title: 'Frigate - {{ if .SubLabel }}{{ .SubLabel }}{{ else }}{{ .Label }}{{ end }} at {{ .Camera }}'
|
|
timeformat:
|
|
nosnap: allow
|
|
snap_bbox:
|
|
snap_timestamp:
|
|
snap_crop:
|
|
|
|
# Face recognition runs slightly AFTER the initial event. Without this
|
|
# delay, .SubLabel is empty and notifications always say "person".
|
|
recheck_delay: 10
|
|
|
|
quiet:
|
|
start:
|
|
end:
|
|
|
|
zones:
|
|
unzoned: allow
|
|
allow:
|
|
block:
|
|
|
|
labels:
|
|
min_score:
|
|
allow:
|
|
block:
|
|
|
|
sublabels:
|
|
# Once face recognition reliably IDs household members, list their names
|
|
# here to silence pings on them:
|
|
# block:
|
|
# - alex
|
|
# - bob
|
|
allow:
|
|
block:
|
|
|
|
discord:
|
|
enabled: false
|
|
webhook:
|
|
template:
|
|
|
|
gotify:
|
|
enabled: false
|
|
server:
|
|
token:
|
|
ignoressl:
|
|
template:
|
|
|
|
smtp:
|
|
enabled: false
|
|
server:
|
|
port:
|
|
tls:
|
|
user:
|
|
password:
|
|
recipient:
|
|
template:
|
|
|
|
telegram:
|
|
enabled: false
|
|
chatid:
|
|
token:
|
|
template:
|
|
|
|
pushover:
|
|
enabled: false
|
|
token:
|
|
userkey:
|
|
devices:
|
|
priority:
|
|
retry:
|
|
expire:
|
|
ttl:
|
|
template:
|
|
|
|
ntfy:
|
|
enabled: true
|
|
server: # FN_ALERTS__NTFY__SERVER
|
|
topic: "frigate"
|
|
ignoressl: false
|
|
|
|
# Priority + emoji change based on whether the person is recognized.
|
|
# Recognized -> priority 3 (normal) + wave; unknown -> priority 4 + alarm.
|
|
headers:
|
|
- X-Priority: '{{ if .SubLabel }}3{{ else }}4{{ end }}'
|
|
- X-Tags: '{{ if .SubLabel }}wave{{ else }}rotating_light{{ end }}'
|
|
|
|
template: |
|
|
{{ if .SubLabel -}}
|
|
{{ .SubLabel }} at {{ .Camera }}
|
|
{{- else -}}
|
|
{{ .Label }} at {{ .Camera }}
|
|
{{- end }}
|
|
{{ if gt (len .CurrentZones) 0 }}
|
|
Zone: {{ range $i, $z := .CurrentZones }}{{ if $i }}, {{ end }}{{ $z }}{{ end }}
|
|
{{- end }}
|
|
Score: {{ printf "%.0f" (mul .TopScore 100) }}%
|
|
Time: {{ .StartTime.Format "Mon 3:04 PM" }}
|
|
|
|
webhook:
|
|
enabled: false
|
|
server:
|
|
ignoressl:
|
|
headers:
|
|
template:
|
|
|
|
|
|
monitor:
|
|
enabled: false
|
|
url:
|
|
interval:
|
|
ignoressl:
|