298 lines
5.6 KiB
Plaintext
298 lines
5.6 KiB
Plaintext
package prod
|
|
|
|
import "encoding/yaml"
|
|
|
|
import "du5t1n.me/cfg/app/frigate/schema"
|
|
|
|
_frigate: schema.#Frigate
|
|
|
|
_frigate: env: {
|
|
FRIGATE_AMCREST_RTSP_PASSWORD: """
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCSC9ib3NiOHArdzB1R2Jt
|
|
bmdJbldtNzA5dUxIR0VKRCtmamFVTE85M2c4Ck5zN01lNHRoYUZhclc3RlViNml5
|
|
UU1ZTWJiOFNHcERGOGpjeWcyNXdmTU0KLS0tICtEZk1hMFM3WlB6ZTZkM1hId0E2
|
|
YzVxaTVqSkMxM0JXcEgzZldLaVY5ZFkKBIQevANW2+cH26MxXujwJpB14F6MoPY0
|
|
uJ62u1YTUpMdIxwZgAQb0TJJu9+/wvZG0hEfTaN5h0U=
|
|
-----END AGE ENCRYPTED FILE-----
|
|
"""
|
|
FRIGATE_MQTT_PASSWORD: """
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1VUZ1NzZBbzRWU290UHFn
|
|
d1VuaTVUd3Z6elJ3Z25YRFEvdlVtZ1JXdG1BClp6clkvd1c1cnY2U1JWNTRvNFNS
|
|
OWk4WHJZS0JCSmN0MnBJUVpIQ2RJSWcKLS0tIG9ERFp3VUNKR20ydlNZSEdYTVJN
|
|
cjUzWFVpQkN1N0lsZmtxTGJZWmd2cnMKGDE10HN61g/VTNyCxVkf2jeM8CdgthKd
|
|
QGr2G0t3Ua3H5NIH89Y6Zrf8G1CPhmTbguZbyNvgdMOpT1GF+BfbJrEz4s7T5mNi
|
|
megRUOjTT54/rg==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
"""
|
|
PLUS_API_KEY: """
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjbEhPeGJPTVNhWGRxSVRZ
|
|
dFVQM3JEYlltd2V3Q0haa1l2NTA3RnJjR1Q4CnJyakJCc2VOakVtSFFXZ2FtVUs5
|
|
bVpaaXc3TGVKNFdLK3EyT0VSUmpCTlUKLS0tIFh3dUorTUp6MXdra01RQnhaTXRN
|
|
YnVvZVZNa2lTNUIxb2Z6M0NXUVdtN1EKnFUU9yU0mnXJQ8vUHWvsM80Le2FPax+3
|
|
eTeyStyF1uYvTWHLZHs8ATAe6SsNYOpW/uX9p3ff414ncMda4sLFNqPx+BRqi/jm
|
|
SErfC7lprII0iQ6GCyNNBMSv6nOjNYUC96gEDhuMAPt+Z4Grfw==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
"""
|
|
|
|
LIBVA_DRIVER_NAME: "radeonsi"
|
|
}
|
|
|
|
_frigate: config: mqtt: {
|
|
host: "mqtt.pyrocufflink.blue"
|
|
port: 8883
|
|
password: "{FRIGATE_MQTT_PASSWORD}"
|
|
tls_ca_certs: "/etc/ssl/certs/ca-certificates.crt"
|
|
user: "frigate"
|
|
}
|
|
|
|
_frigate: config: ffmpeg: hwaccel_args: "preset-vaapi"
|
|
|
|
_rtsp: {
|
|
front_porch: "rtsp://frigate:{FRIGATE_AMCREST_RTSP_PASSWORD}@172.30.0.213/cam/realmonitor?channel=1&subtype=0"
|
|
driveway: "rtsp://frigate:{FRIGATE_AMCREST_RTSP_PASSWORD}@172.30.0.212/cam/realmonitor?channel=1&subtype=0"
|
|
back_yard: "rtsp://frigate:{FRIGATE_AMCREST_RTSP_PASSWORD}@172.30.0.215/cam/realmonitor?channel=1&subtype=0"
|
|
}
|
|
|
|
_frigate: config: go2rtc: streams: {
|
|
front_porch: [_rtsp.front_porch]
|
|
driveway: [_rtsp.driveway]
|
|
back_yard: [_rtsp.back_yard]
|
|
}
|
|
|
|
_frigate: config: detectors: coral: {
|
|
device: "pci:0"
|
|
type: "edgetpu"
|
|
}
|
|
|
|
_frigate: config: birdseye: restream: true
|
|
|
|
_frigate: config: cameras: {
|
|
front_porch: {
|
|
detect: {
|
|
height: 1080
|
|
width: 1920
|
|
}
|
|
ffmpeg: {
|
|
inputs: [
|
|
{
|
|
path: "rtsp://127.0.0.1:8554/front_porch"
|
|
input_args: "preset-rtsp-restream"
|
|
roles: [
|
|
"detect",
|
|
]
|
|
},
|
|
{
|
|
path: _rtsp.front_porch
|
|
roles: [
|
|
"record",
|
|
]
|
|
},
|
|
]
|
|
}
|
|
objects: {
|
|
track: [
|
|
"person",
|
|
"cat",
|
|
"dog",
|
|
"bird",
|
|
]
|
|
filters: {
|
|
dog: {
|
|
threshold: 0.8
|
|
}
|
|
bird: {
|
|
threshold: 0.8
|
|
}
|
|
}
|
|
}
|
|
record: {
|
|
enabled: true
|
|
events: {
|
|
retain: {
|
|
default: 365
|
|
}
|
|
}
|
|
retain: {
|
|
days: 30
|
|
}
|
|
}
|
|
rtmp: {
|
|
enabled: false
|
|
}
|
|
snapshots: {
|
|
enabled: true
|
|
retain: {
|
|
default: 365
|
|
}
|
|
}
|
|
zones: {
|
|
front_door: {
|
|
coordinates: "1920,1080,1920,0,1770,0,1366,657,1533,1080"
|
|
}
|
|
front_porch_window: {
|
|
coordinates: "1168,337,1026,75,1040,0,1300,0,1257,231"
|
|
}
|
|
front_steps: {
|
|
coordinates: "0,1080,1533,1080,1366,595,925,672,531,529,216,587"
|
|
}
|
|
}
|
|
motion: {
|
|
mask: [
|
|
"189,0,0,0,0,175",
|
|
]
|
|
}
|
|
}
|
|
|
|
driveway: {
|
|
detect: {
|
|
height: 1080
|
|
width: 1920
|
|
}
|
|
ffmpeg: {
|
|
inputs: [
|
|
{
|
|
path: "rtsp://127.0.0.1:8554/driveway"
|
|
input_args: "preset-rtsp-restream"
|
|
roles: [
|
|
"detect",
|
|
]
|
|
},
|
|
{
|
|
path: _rtsp.driveway
|
|
roles: [
|
|
"record",
|
|
]
|
|
},
|
|
]
|
|
}
|
|
objects: {
|
|
track: [
|
|
"person",
|
|
"cat",
|
|
"dog",
|
|
"car",
|
|
]
|
|
filters: {
|
|
person: {
|
|
threshold: 0.8
|
|
}
|
|
dog: {
|
|
threshold: 0.8
|
|
}
|
|
bird: {
|
|
threshold: 0.8
|
|
}
|
|
}
|
|
}
|
|
record: {
|
|
enabled: true
|
|
events: {
|
|
retain: {
|
|
default: 365
|
|
}
|
|
required_zones: [
|
|
"driveway_entry_zone",
|
|
"garage_pad_zone",
|
|
]
|
|
}
|
|
retain: {
|
|
days: 30
|
|
}
|
|
}
|
|
rtmp: {
|
|
enabled: false
|
|
}
|
|
snapshots: {
|
|
enabled: true
|
|
retain: {
|
|
default: 365
|
|
}
|
|
required_zones: [
|
|
"driveway_entry_zone",
|
|
"garage_pad_zone",
|
|
]
|
|
}
|
|
zones: {
|
|
neighbor_zone: {
|
|
coordinates: "1920,0,1920,317,1644,179,1382,89,1030,0"
|
|
objects: []
|
|
}
|
|
driveway_entry_zone: {
|
|
coordinates: "624,0,148,0,0,107,0,251,111,328"
|
|
}
|
|
garage_pad_zone: {
|
|
coordinates: "0,507,0,431,616,23,834,51,1180,119,1545,243,1475,583,1285,1080,404,1080,239,843"
|
|
}
|
|
}
|
|
motion: {
|
|
mask: [
|
|
"157,0,0,0,0,119",
|
|
"1419,89,1058,0,1920,0,1920,324,1823,267",
|
|
]
|
|
}
|
|
}
|
|
|
|
back_yard: {
|
|
detect: {
|
|
height: 1080
|
|
width: 1920
|
|
}
|
|
ffmpeg: inputs: [
|
|
{
|
|
path: "rtsp://127.0.0.1:8554/back_yard"
|
|
input_args: "preset-rtsp-restream"
|
|
roles: [
|
|
"detect",
|
|
]
|
|
},
|
|
{
|
|
path: _rtsp.back_yard
|
|
roles: [
|
|
"record",
|
|
]
|
|
},
|
|
]
|
|
objects: track: [
|
|
"person",
|
|
"cat",
|
|
"dog",
|
|
]
|
|
record: {
|
|
enabled: true
|
|
events: retain: default: 365
|
|
retain: days: 30
|
|
}
|
|
rtmp: enabled: false
|
|
snapshots: {
|
|
enabled: true
|
|
retain: default: 365
|
|
}
|
|
zones: {
|
|
pool_zone: coordinates: "532,78,1063,21,1117,31,979,208,931,301,515,307,406,375,231,373,204,291"
|
|
}
|
|
}
|
|
}
|
|
|
|
_frigate: caddy: {
|
|
server_name: "frigate.pyrocufflink.blue"
|
|
forward_auth: {
|
|
url: "https://auth.pyrocufflink.blue"
|
|
}
|
|
acme: {
|
|
email: "frigate@pyrocufflink.blue"
|
|
}
|
|
}
|
|
|
|
let Marshal = yaml.Marshal
|
|
|
|
frigate: {
|
|
env: _frigate.env
|
|
config: _frigate.config
|
|
caddy: _frigate.caddy
|
|
|
|
yaml: Marshal(config)
|
|
}
|