Skip to content

feat(darwin): run Frigate ANE object detector as a launchd agent on dungeon#63

Merged
GregHilston merged 1 commit into
masterfrom
feat/frigate-ane-detector
Jun 24, 2026
Merged

feat(darwin): run Frigate ANE object detector as a launchd agent on dungeon#63
GregHilston merged 1 commit into
masterfrom
feat/frigate-ane-detector

Conversation

@GregHilston

Copy link
Copy Markdown
Owner

Why

Frigate's CPU object detector was the single biggest CPU consumer on dungeon (~64% of a ~130% total).
Frigate runs inside OrbStack's Linux VM, which can't reach the Apple Neural Engine, so the detector
has to run natively on the Mac and Frigate connects to it over ZMQ/TCP. (Companion change in the
home-lab repo points Frigate at it.)

What

  • Add launchd.user.agents.frigate-detector to nixos/hosts/macs/dungeon/default.nix, running the
    native frigate-nvr/apple-silicon-detector
    (venv/bin/python3 detector/zmq_onnx_client.py, defaults to tcp://*:5555, --model AUTO). Mirrors
    the existing native-exporter agent pattern (node_exporter / macmon / glances): RunAtLoad,
    KeepAlive, logs to ~/Library/Logs/frigate-detector.log.
  • Document the one-time clone + venv install in nixos/docs/darwin-post-deploy.md (the detector repo
    is not auto-cloned).

Deploy

The detector repo + venv must exist first (see the post-deploy checklist), then
darwin-rebuild switch starts the agent. Verify with
tail ~/Library/Logs/frigate-detector.log → "ZMQ server successfully bound to tcp://*:5555".

🤖 Generated with Claude Code

…ungeon

Add launchd.user.agents.frigate-detector running the native
frigate-nvr/apple-silicon-detector, so Frigate (inside OrbStack's Linux VM,
which can't reach the ANE) can offload object detection to the Apple Neural
Engine over ZMQ/TCP. Mirrors the existing native-exporter agent pattern.
Document the one-time clone + venv install in darwin-post-deploy.md (the repo
is not auto-cloned).
@GregHilston GregHilston merged commit a6deeb4 into master Jun 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant