Skip to content

UniFi Protect

At the end of this page Ferrule will be reading your cameras and your recorder's disks and temperatures.

If Protect runs on the same gateway as Network, there's nothing to do. Ferrule uses the Network credentials for it automatically.

If Protect runs on a separate UNVR

A UNVR is a separate UniFi console with its own accounts. The gateway's key and admin won't work on it, so make the same two things again, on the UNVR:

  1. Open https://<UNVR address> and sign in.
  2. Settings → Control Plane → Integrations → Create API Key. Copy it.
  3. Settings → Admins & Users → Add New Admin: local access only, telemetry, Read Only, MFA off.

Then add these four lines to your settings:

PROTECT_HOST=https://192.168.1.4
PROTECT_API_KEY=the UNVR's key
PROTECT_USERNAME=telemetry
PROTECT_PASSWORD=the UNVR account's password
  1. Open the ferrule stack and find Environment variables.
  2. Add or change the lines. In Advanced mode you can paste several at once.
  3. Click Pull and redeploy.
  1. Open .env in the folder where you cloned ferrule-deploy.
  2. Add or change the lines.
  3. Run docker compose up -d in that folder.

How to know it worked

  • A Cameras tab appears, with the recorder's disks and every camera.
  • Settings → Sources shows UniFi Protect with the UNVR's address.

If it doesn't work

What you see Why, and the fix
Protect is enabled on ... but has no credentials for it PROTECT_HOST is set, but the key or account lines aren't. Add them
login rejected for Protect only The account was made on the gateway, not the UNVR. Make it on the UNVR
No disk health PROTECT_BOOTSTRAP=false is set. Remove it
I don't run Protect

Add PROTECT_ENABLED=false and Ferrule won't look for it.