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.
There are several ways to deploy the code:
- Using Docker Compose
- Using AWS Greengrass
- Using Kubernetes
-
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
.
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
.
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
We recommend a minimal Kubernetes install like k3s.
Use the file
kubernetes.yaml
file.
- Create a Kubernetes cluster and install
kubectl
on your machine. - Run
kubectl apply -f kubernetes.yaml
in the same directory as thekubernetes.yaml
file.
- 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
).
We welcome pull requests!
app
is the frontend TypeScript / React applicationapi
is the backend Python / FastApi applicationdeploy
has code for deploying the system