blumeops/mise-tasks
Erich Blume 04c7f3c45a Deploy Frigate NVR stack with Mosquitto, Ntfy, and frigate-notify (#190)
## Summary

Deploy a cloud-free NVR stack for the GableCam (ReoLink Elite Floodlight at 192.168.1.159):

- **Mosquitto** — shared MQTT broker in `mqtt` namespace (cluster-internal, no auth)
- **Ntfy** — self-hosted push notifications in `ntfy` namespace, exposed at `ntfy.tail8d86e.ts.net` / `ntfy.ops.eblu.me`
- **Frigate** — NVR with GableCam via HTTP-FLV, ONNX CPU detection, NFS recordings on sifaka, exposed at `nvr.tail8d86e.ts.net` / `nvr.ops.eblu.me`
- **frigate-notify** — bridges Frigate detection events (person, car, dog, cat) to Ntfy alerts via MQTT

Also includes:
- Prometheus scrape target for Frigate metrics
- Grafana dashboard for Frigate (status, inference speed, FPS, CPU/memory, storage)
- Caddy reverse proxy entries for `nvr.ops.eblu.me` and `ntfy.ops.eblu.me`

## Prerequisites

- [ ] Create NFS share `frigate` on sifaka (`/volume1/frigate`, RW for indri)
- [ ] Create 1Password item "Reolink Floodlight Camera" in `blumeops` vault with `username` and `password` fields

## Deployment (after merge)

```bash
argocd app sync apps
argocd app sync mosquitto
argocd app sync ntfy
argocd app sync frigate
argocd app sync grafana-config
argocd app sync prometheus
mise run provision-indri -- --tags caddy
mise run services-check
```

## Verification

- [ ] Mosquitto pod running, accepting connections on 1883
- [ ] Ntfy web UI accessible at `ntfy.ops.eblu.me`
- [ ] Frigate web UI at `nvr.ops.eblu.me` showing GableCam live feed
- [ ] Object detection working (ONNX, person/car/dog/cat)
- [ ] Recordings appearing in NFS share on sifaka
- [ ] frigate-notify sending detection alerts to Ntfy
- [ ] Prometheus scraping Frigate metrics
- [ ] Grafana dashboard showing Frigate data

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/190
2026-02-14 21:27:44 -08:00
..
blumeops-tasks Fix blumeops-tasks for Todoist API v1 migration (#155) 2026-02-11 14:33:37 -08:00
container-list Migrate registry to Caddy (registry.ops.eblu.me) (#58) 2026-01-25 12:06:15 -08:00
container-tag-and-release Remove confirmation prompt from container-tag-and-release 2026-02-03 16:59:55 -08:00
dns-preview Add plan and reference card for UniFi Express 7 Pulumi stack (#145) 2026-02-10 15:36:13 -08:00
dns-up Add plan and reference card for UniFi Express 7 Pulumi stack (#145) 2026-02-10 15:36:13 -08:00
docs-check-filenames Rename doc-* mise tasks to docs-check-* / docs-review-* (#113) 2026-02-06 07:08:46 -08:00
docs-check-frontmatter Fix frontmatter field name for Quartz date display (#158) 2026-02-11 16:45:12 -08:00
docs-check-index Rename doc-* mise tasks to docs-check-* / docs-review-* (#113) 2026-02-06 07:08:46 -08:00
docs-check-links docs/expose-service-publicly pt2 - fly.io (#119) 2026-02-08 00:38:27 -08:00
docs-review Add docs-review task with last-reviewed frontmatter tracking (#129) 2026-02-09 07:29:45 -08:00
docs-review-stale Rename doc-* mise tasks to docs-check-* / docs-review-* (#113) 2026-02-06 07:08:46 -08:00
docs-review-tags Rename doc-* mise tasks to docs-check-* / docs-review-* (#113) 2026-02-06 07:08:46 -08:00
ensure-minikube-indri-kubectl-config P5.1: Migrate minikube from podman to QEMU2 driver (#38) 2026-01-21 16:03:37 -08:00
fly-deploy Add Fly.io public reverse proxy for docs.eblu.me (#120) 2026-02-08 02:36:19 -08:00
fly-setup Expose CV publicly at cv.eblu.me (#173) 2026-02-12 14:05:00 -08:00
fly-shutoff Add Fly.io public reverse proxy for docs.eblu.me (#120) 2026-02-08 02:36:19 -08:00
indri-runner-logs Add Caddy layer4 for Forgejo SSH (#56) 2026-01-25 11:37:23 -08:00
op-backup Add how-to guide for restoring 1Password backup from borgmatic (#141) 2026-02-10 10:55:00 -08:00
pr-comments Add Caddy layer4 for Forgejo SSH (#56) 2026-01-25 11:37:23 -08:00
provision-indri Set MISE_TASK_OUTPUT=interleave in provision-indri 2026-01-14 14:15:11 -08:00
provision-sifaka Operations and observability for sifaka NAS (#135) 2026-02-09 17:44:05 -08:00
services-check Deploy Frigate NVR stack with Mosquitto, Ntfy, and frigate-notify (#190) 2026-02-14 21:27:44 -08:00
tailnet-preview Add plan and reference card for UniFi Express 7 Pulumi stack (#145) 2026-02-10 15:36:13 -08:00
tailnet-up Add plan and reference card for UniFi Express 7 Pulumi stack (#145) 2026-02-10 15:36:13 -08:00
zk-docs Add missing doc index files to zk-docs context priming 2026-02-14 12:08:22 -08:00