Monitoring Notification Server
This is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.
Prerequisites
- Internet- connected linux computer
- Video source (USB camera or RTSP stream)
- Groundlight API Key (available from groundlight.ai)
Using the Application
Our Monitoring Notification Server is a server you can deploy anywhere to easily build Groundlight Detectors, and configure them to pull from custom image sources and post notifications.
The Monitoring Notification Server has a simple web interface (depected below) that allows you to configure your detector(s), and a backend that runs on your device to pull images from your camera and post notifications.
MNS Home Page
Detector Dashboard
Running the server
There are several ways to deploy the code:
- Using Docker Compose
- Using AWS Greengrass
- Using Kubernetes
Running with Docker Compose
-
Use the file
docker-compose.yml
. -
Run
docker-compose up
in the same directory as thedocker-compose.yml
file.
If you're using Docker Compose v2, replace
docker-compose
withdocker compose
.
Running from Docker Compose on 32-bit ARM (armv7)
32-bit arm requires different binary images.
-
Use the slightly different
docker-compose-armv7.yml
. -
Run
docker-compose -f docker-compose-armv7.yml up
.
If you're using Docker Compose v2, replace
docker-compose
withdocker compose
.
Running with AWS Greengrass
Before creating the component, run sudo usermod -aG docker ggc_user
on your Greengrass device to allow the Greengrass service to access the host's Docker daemon.
- Create a new Greengrass Component
- Select "Enter recipe as YAML"
- Paste the YAML from greengrass-recipe.yaml into the text box
- Click "Create component"
- Click "Deploy" to deploy the component to your Greengrass group
Running with Kubernetes
We recommend a minimal Kubernetes install like k3s.
Use
kubernetes.yaml
manifest.
- Create a Kubernetes cluster and install
kubectl
on your machine. - Run
kubectl apply -f kubernetes.yaml
in the same directory as thekubernetes.yaml
file.
Building from Source
- Install Node.js and Python 3.8+.
git clone https://github.com/groundlight/monitoring-notification-server
cd monitoring-notification-server
npm install
npm run dev
Open http://localhost:3000 with your browser to see the result.
The FastApi server will be running on http://0.0.0.0:8000 – feel free to change the port in package.json
(you'll also need to update it in next.config.js
).