Skip to content

Node.js application to upload Zoneminder Alert images to Amazon S3 as they happen.

Notifications You must be signed in to change notification settings

briantroy/Zoneminder-Alert-Image-Upload-to-Amazon-S3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

The Zoneminder Alert Image Upload to Amazon S3 project was created to solve two simple problems:

1) Off site storage of alarmed images (those in which Zoneminder has detected motion) is a must-have
if your IP camera security system is to be of any real use in the event your home/business is
broken in to.

2) The upload must be FAST - so if (when) the intruder takes the PC running zoneminder (or the external
drive holding the images) some set of alarmed images will have already have been uploaded.

Essentially, I didn't want to spend time/energy figuruing out how to hid/secure the Zoneminder hardware and
opted instead to ensure any alarmed images were uploaded to a secure location.

About Zoneminder:

Zoneminder (http://www.zoneminder.com/) is a GPL licensed video camera security and surveillance solution.
It allows you to view, record and distribute video from any video surveillance cameras you may have in your
home/business.

Installation:

This document assumes you have a pre-existing Zoneminder installation. If you need help getting Zoneminder
working please see http://www.zoneminder.com

There are 3 basic steps:

1) Modify your Zoneminder database.
2) Configure the Zoneminder s3 Uploader.
3) Install and run the Uploader.

Modify the Zoneminder Database:

The included script zms3db.sql should be run on your Zoneminder database. It will create a table the Zoneminder
s3 Uploader will use to track which alarm images have been uploaded.

Configure the Zoneminder s3 Uploader:

There are two files which require some configuration. The core Zoneminder s3 Uploader configuration is found in
the zms3Config.example.js file. Make a copy of this file and name it zms3Config.js.
This file contains the information need to connect to your Zoneminder MySQL database,
how many images to process at once, logfile paths/names, etc.

Optionally, you can also store your logs and data about each file uploaded in a MongoDB database.

Please see the zms3Config.js file for specifics.

Additionally, your Amazon S3 credentials are stored in the zmAlarmImage/s3-client.js file. You'll need to add your
Amazon S3 Account key and secret in this file. By default it will use the security-alarms bucket - which can be
changed as needed.

Run The Uploader:

Install the required Node.js packages by running
npm update

The uploader should be run as a daemon (it runs continuously).

node /path/to/your/install/upload-zoneminder-alarm-frames.js >> /dev/null &


The log files generated will provide diagnostic information as needed.

About

Node.js application to upload Zoneminder Alert images to Amazon S3 as they happen.

Resources

Stars

Watchers

Forks

Packages

No packages published