Home

Awesome

Unifi Event Monitor

Listens for events from Unifi controller and pushes them as notifications to apprise.

Get started

1. Apprise config

Create .apprise file with your channels, e.g.:

slack://<token1>/<token2>/<token3>
mailtos://<userid>:<pass>@<domain.com>

2. Unifi Controller credentials

Create .env file with the following:

HOST=https://<controllerIP>:8443
USERNAME=<username>
PASSWORD=<password>

Setup using docker image

1. Create docker-compose.yml file:

---
version: "3.7"
services:
  unifi-event-monitor:
    container_name: unifi-event-monitor
    image: tborychowski/unifi-event-monitor
    restart: unless-stopped
    env_file:
      - ./.env
    volumes:
      - ./.apprise:/app/.apprise
      - ./blacklist.txt:/app/blacklist.txt

2a. Run:

docker-compose up -d

2b. Alternatively, you can run:

docker run -d --rm --env-file=./.env \
  --mount "type=bind,src=/absolute/path/to/.apprise,dst=/app/.apprise" \
  --mount "type=bind,src=/absolute/path/to/blacklist.txt,dst=/app/blacklist.txt" \
  tborychowski/unifi-event-monitor:latest

Filtering events

By default the app listens to all events and forwards the messages as notifications. It is possible to filter out some of the messages.

Setup locally (with nodejs)

git clone https://github.com/tborychowski/unifi-event-monitor.git
cd unifi-event-monitor
npm ci
node index.js

Credit

I used some code from: https://github.com/oznu/unifi-events