Skip to content

tboyko/frigate-echo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Echo For Frigate

Echo enables the offsite shipment of Frigate alerts.

Echo provide a recourse in the event that a burglary results in damage or theft of the equipment running Frigate.

Because Frigate stores video footage using it's own internal schema, there isn't an easy nor efficient way to sync internal Frigate data with an offsite store. To help enable offsite syncing, Echo does the following:

  1. Watches for Frigate alerts via MQTT.
  2. (Optionally) ignore the alert if anyone is home according to Home Assistant.
  3. Export video of the event from Frigate and move it to a synced or remotely mounted folder.

Echo does not include the mechanism to send date offsite. Instead, it moves it to a designated folder that can then be tied to a service like Syncthing, Dropbox, or a remote mount.

Setup

MQTT

An MQTT broker, like Mosquitto, is required if you are not already running one.

Once the broker is up and running, you can configure Frigate to send alert information to it by adding the following to the Frigate configuration:

mqtt:
  host: 192.168.0.10
  port: 1883
  topic_prefix: frigate
  client_id: frigate
  user: ''
  password: ''

You may also need to go under Settings > Notifications in the Frigate UI and confirm that notifications are enabled for cameras.

Docker compose

docker-compose.yml

services:
  frigate-echo:
    image: tboyk/frigate-echo:latest
    restart: unless-stopped
    container_name: frigate-echo
    environment:
      - TZ=America/Los_Angeles
    volumes:
      - /usr/local/frigate-echo:/echo/config
      - /usr/local/frigate/exports:/mnt/frigate_exports
      - /usr/local/syncthing:/mnt/echo_storage

Specifically:

  • Set the timezone so that the exported filenames show timestamps for your region.
  • Set the three volumes.
    • Mount the folder with config.yml that you create below to /echo/config
    • The first should map the Frigate exports folder to /mnt/frigate_exports.
    • The second should map your offsite synced folder to /mnt/echo_storage.

config.yml

retention_days: 7

mqtt:
  server: "192.168.0.10"
  topic: "frigate/reviews"

home_assistant:
  url: "http://192.168.0.10:8123"
  token: "<long-lived-access-token>"

frigate:
  url: "http://192.168.0.10:5000"
  api_key: null

A few notes:

  • home_assistant: Optionally prevent exporting of alerts when home assistant shows that someone is home. The token sub-key can be generated from within the Home Assistant UI by clicking on your name in the lower left corner, selecting the security tab, and then scrolling to the "Long-lived access tokens" section. Otherwise, comment or remove this section.

  • retention_days: Optionally remove exports from the synced folder once they are the defined number of days old. Otherwise, comment or remove this key.

Starting it up

Create and run the docker image by executing the following from within the project folder:

docker compose up -d

You can check for issues by running:

docker logs frigate-echo

About

Echo enables the offsite shipment of Frigate alerts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published