Skip to content

An application for running your Groundlight detectors with notification capabilities

License

Notifications You must be signed in to change notification settings

groundlight/monitoring-notification-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monitoring Notification Server


What is the Monitoring Notification Server?

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.

Intro Page

Intro Page

Detector Dashboard

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

  1. Use the file docker-compose.yml.

  2. Run docker-compose up in the same directory as the docker-compose.yml file.

If you're using Docker Compose v2, replace docker-compose with docker compose.

Running from Docker Compose on 32-bit ARM (armv7)

32-bit arm requires different binary images.

  1. Use the slightly different docker-compose-armv7.yml.

  2. Run docker-compose -f docker-compose-armv7.yml up.

If you're using Docker Compose v2, replace docker-compose with docker 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.

  1. Create a new Greengrass Component
  2. Select "Enter recipe as YAML"
  3. Paste the YAML from greengrass-recipe.yaml into the text box
  4. Click "Create component"
  5. Click "Deploy" to deploy the component to your Greengrass group

Running with Kubernetes

We recommend a minimal Kubernetes install like k3s.

Use the file kubernetes.yaml file.

  1. Create a Kubernetes cluster and install kubectl on your machine.
  2. Run kubectl apply -f kubernetes.yaml in the same directory as the kubernetes.yaml file.

Building from Source

  1. 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).

Contributing

We welcome pull requests!

Organization of source code

  • app is the frontend TypeScript / React application
  • api is the backend Python / FastApi application
  • deploy has code for deploying the system

About

An application for running your Groundlight detectors with notification capabilities

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published