Files

57 lines
2.0 KiB
YAML
Raw Permalink Normal View History

2026-09-09 21:44:05 -05:00
# Shared pipeline configuration for the oko clip system.
# Each node maps binary -> flags (the same flags as the binaries' -help).
# The pipeline routes: runCam -> mofin -> terp -> coordinator (Matrix storage).
# Nodes that listen must be started backend-first.
pipeline:
runCam:
binary: "runCam"
flags:
mofin: "localhost:8083"
min-cam: 0
max-cam: 10
clip-duration: "10s"
rescan-interval: "10s"
user: "oko"
camera-id: "front"
video-fps: 5 # processed clip FPS; 0 = device native rate
video-width: 0 # capture width in px (0 = device default)
video-height: 0 # capture height in px (0 = device default)
passphrase: "change-me" # empty disables clip encryption
auth-token: "change-me" # shared with every node (or OKO_AUTH_TOKEN)
pbkdf2-iters: 600000 # lower = less CPU on weak devices (e.g. 50000 on a Pi Zero W)
mofin:
binary: "mofin"
flags:
listen: ":8083"
terp: "localhost:8081"
threshold: 30 # pixel-value sensitivity 0-255 (drop no-motion clips)
passphrase: "change-me"
auth-token: "change-me"
pbkdf2-iters: 600000
terp:
binary: "terp"
flags:
listen: ":8081"
sendoff: "localhost:8082"
classifiers: "classifiers/*.xml"
motion-percent: 0 # 0 = forward all motion clips to coordinator
passphrase: "change-me"
auth-token: "change-me"
pbkdf2-iters: 600000
coordinator:
binary: "coordinator"
flags:
listen: ":8082"
matrix-homeserver: "https://matrix.example.org"
matrix-user: "@okobot:matrix.example.org"
matrix-token-file: "matrix.token" # or OKO_MATRIX_TOKEN
clips-room: "!yourclips:example.org"
detections-room: "!yourdetections:example.org"
view-room: "!yourview:example.org" # clips with a one-line caption only, no JSON
passphrase: "change-me"
auth-token: "change-me"
pbkdf2-iters: 600000