From 422a166925c9174cb173fff28e212ad1c5624958 Mon Sep 17 00:00:00 2001 From: Felix Albrigtsen Date: Thu, 30 Apr 2026 01:02:36 +0200 Subject: [PATCH] challenger/frigate: init --- hosts/challenger/configuration.nix | 1 + hosts/challenger/services/frigate.nix | 49 +++++++++++++++++++++++++++ hosts/challenger/services/komga.nix | 2 +- hosts/challenger/services/nginx.nix | 2 +- 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 hosts/challenger/services/frigate.nix diff --git a/hosts/challenger/configuration.nix b/hosts/challenger/configuration.nix index c6a8354..e48a31a 100644 --- a/hosts/challenger/configuration.nix +++ b/hosts/challenger/configuration.nix @@ -15,6 +15,7 @@ # ./services/archivebox.nix ./services/audiobookshelf.nix ./services/calibre.nix + ./services/frigate.nix ./services/jellyfin.nix ./services/komga.nix ./services/nextcloud.nix diff --git a/hosts/challenger/services/frigate.nix b/hosts/challenger/services/frigate.nix new file mode 100644 index 0000000..ab07f96 --- /dev/null +++ b/hosts/challenger/services/frigate.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: +{ + fileSystems = { + "/var/lib/frigate" = { + device = "/tank/nvr/frigate"; + depends = [ "/tank/nvr/frigate" ]; + options = [ "bind" ]; + }; + }; + + services.frigate = { + enable = true; + hostname = "frigate.home.feal.no"; + vaapiDriver = "nvidia"; + checkConfig = false; + settings = { + # auth.reset_admin_password = true; + motion.enabled = true; + record.enabled = true; + # snapshots.enabled = true; + # detect = { + # enabled = true; + # fps = 5; + # }; + + cameras = { + driveway = { + ffmpeg.inputs = [ + { + path = "rtsp://admin:placeholder@192.168.10.40/streaming/channels/101"; + roles = [ + "detect" + "record" + ]; + } + ]; + }; + }; + }; + }; + + systemd.services.frigate.serviceConfig = { + # Allow GPU use + PrivateDevices = false; + + # Allow cpuinfo + ProcSubset = "all"; + }; +} diff --git a/hosts/challenger/services/komga.nix b/hosts/challenger/services/komga.nix index ec086c4..72b9145 100644 --- a/hosts/challenger/services/komga.nix +++ b/hosts/challenger/services/komga.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: let domain = "komga.home.feal.no"; - port = 5001; + port = 5004; in { services.komga = { enable = true; diff --git a/hosts/challenger/services/nginx.nix b/hosts/challenger/services/nginx.nix index 11b51d0..d596cca 100644 --- a/hosts/challenger/services/nginx.nix +++ b/hosts/challenger/services/nginx.nix @@ -11,7 +11,7 @@ recommendedGzipSettings = true; recommendedOptimisation = true; - virtualHosts."cloud.feal.no".default = true; + virtualHosts."jf.feal.no".default = true; }; networking.firewall.allowedTCPPorts = [ 80 443 ];