Files
frigate_w_audio/frigate-notify/config.yml
T
2026-04-25 11:06:10 -04:00

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: