Skip to content

frigate ​

NVR with real-time local object detection for IP cameras.

Example ​

nix
{
  nps.stacks.frigate = {
    enable = true;
    settings = {
      ffmpeg.hwaccel_args = "preset-intel-qsv-h264";

      go2rtc.streams.birdfeeder = [
        "https://<username>:<password>@<ip>:<port>/video/h264"
      ];
      cameras.birdfeeder = {
        enabled = true;
        ffmpeg.inputs = [
          {
            path = "rtsp://127.0.0.1:8554/birdfeeder";
            input_args = "preset-rtsp-restream";
            roles = ["detect" "record"];
          }
        ];
        objects.track = ["bird"];
      };
      record = {
        enabled = true;
        continuous = {
          days = 1;
        };
        motion = {
          days = 1;
        };
        detections.retain = {
          days = 1;
        };
        alerts.retain = {
          days = 1;
        };
      };
      snapshots = {
        enabled = true;
        retain.default = 7;
      };
    };
  };
}

Stack Options ​

nps.stacks.frigate.enable ​

Whether to enable frigate.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.frigate.extraEnv ​

Extra environment variables to set for the container. Variables can be either set directly or sourced from a file (e.g. for secrets).

Environment variables can be used for substitution in the config.yml file. See https://docs.frigate.video/configuration/config#environment-variable-substitution

Type
plaintext
attribute set of (null or boolean or signed integer or string or absolute path or (submodule))
Default
nix
{ }
Declaration

nps.stacks.frigate.mediaPath ​

Host directory where the Frigate recordings are stored.

Type
plaintext
string
Default
nix
"${config.nps.storageBaseDir}/frigate/media"
Declaration

nps.stacks.frigate.settings ​

Settings that will be written to the 'config.yml' file. If you want to configure settings through the UI, set this option to null. In that case, no managed config.yml will be provided.

Type
plaintext
null or YAML 1.1 value
Default
nix
null
Declaration

Container Aliases ​

nps.stacks.frigate.containers.frigate ​

Alias of {option}services.podman.containers.frigate.

Type
plaintext
submodule
Declaration