Skip to content

Deploying to Synology and Unraid

danecreekphotography edited this page Jun 15, 2020 · 13 revisions

The Docker image used to process results from DeepStack.ai can be installed on systems like Synology or Unraid that support loading images from Docker Hub. The configuration is a more manual process than simply using docker-compose.yml but it does work. It also assumes you already have Deepstack AI running (perhaps as another Docker container on the Synology or Unraid server).

  1. Download the node-deepstackai-trigger:latest image
  2. Configure a container using the image with the correct environment variables and volume mounts

To simplify communication between this image and the Deepstack AI image it is highly recommended to run the two containers together in the same stack.

Required environment variables

The following environment variables must be configured on the container:

Environment variable Description Example
DEEPSTACK_URI The URI for the DeepStack AI server. http://192.168.1.170:5000/
TZ The timezone of the local machine. A list of valid timezones is available on Wikipedia. Use any value from the TZ database name column. America/Los_Angeles

Optional environment variables

The following environment variables are optional for the container configuation:

Environment variable Description Example
ENABLE_ANNOTATIONS When set to any value enables the annotated image generation and web server. Default undefined (disabled). true
PORT The port for the local web server that provides access to annotated images. Default 4242. If changing this don't forget to also expose the port in Docker's container configuration. 5080
PURGE_AGE The length of time, in minutes, an annotated image in temporary storage must go without being accessed before being purged. Default 60. 120
PURGE_INTERVAL Controls how long the system waits between purges of temporary annotated image storage, in minutes. Default 30. 10
VERBOSE Controls the level of output logging. If false or omitted then only startup messages, warnings, errors, and successful AI detection are logged. true

Required volume mounts

The following volumes must be mounted:

Container mount point Description Example
/aiinput The folder that contains the images to analyze. ./docker/aiinput:/aiinput
/config The folder that contains triggers.json, mqtt.json, and telegram.json. ./docker/aiconfig:/config

Optional volume mounts

The following volumes are optional:

Container mount point Description Example
/node-deepstackai-trigger A folder for temporary storage of annotated images. localtriggerstorage:/node-deepstackai-trigger