cfg/env/prod/frigate.cue

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)
}