Skip to content
danecreekphotography edited this page May 28, 2020 · 25 revisions

A Docker container that runs DeepStack AI to process images from a watch folder and then fire web request calls, MQTT events, and Telegram messages if the image matches a defined list of triggers.

This project was heavily inspired by GentlePumpkin's post on ipcamtalk.com that triggers BlueIris video survelliance using DeepStack as the motion sensing system. While the C# application is nifty it was difficult to install as a service and only ran on Windows. This project is an attempt to take the idea behind the C# app, make it a bit more general purpose, and provide quick deployment via Docker.

General installation guidelines

  • Copy the docker-compose.yml, mqtt.json and triggers.json files from the sampleConfiguration directory locally.
  • Edit the docker-compose.yml file to modify the mount point for source images, set the timezone and optionally enable MQTT and telegram.
  • Edit triggers.json to define the triggers you want to use.
  • Edit mqtt.json to specify the connection information for your MQTT server (if using MQTT).
  • Edit telegram.json to specify the connection information for your Telegram bot server (if using Telegram).

Setting the timezone via the TZ environment variable in docker-compose.yml is important for every thing to work smoothly. By default Docker containers are in UTC and that messes up logic to skip existing images on restart. A list of valid timezones is available on Wikipedia. Use any value from the TZ database name column.

Editing the .json files in Visual Studio Code or some other editor that understands JSON Schemas is recommended: you'll get full auto-complete and documentation as you type.

After modifying the configuration files run docker-compose up -d and everything should spin up and work. Use your Docker client to review log messages from the trigger container: there's ample logging to help track down any configuration errors that may exist.

Configuration and defining triggers

See the configuration page for information on how to configure the system, including how to enable MQTT and Telegram messages. See the defining triggers page for details on how to set up triggers to detect motion and then fire notifications.

Building this yourself

Interested in building this locally? Check out the CONTRIBUTING.md guide for quick steps on how to clone and run in under five minutes.

Clone this wiki locally