From 7ef4c09317110a4d697b69135ab14ca8269c6d65 Mon Sep 17 00:00:00 2001 From: Jake Hillion Date: Sun, 8 Sep 2024 17:35:41 +0100 Subject: [PATCH] frigate: initial setup --- modules/locations.nix | 1 + modules/services/authoritative_dns.nix | 1 + modules/services/default.nix | 1 + modules/services/frigate.nix | 30 ++++++++++++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 modules/services/frigate.nix diff --git a/modules/locations.nix b/modules/locations.nix index 3fe9db5..936b94d 100644 --- a/modules/locations.nix +++ b/modules/locations.nix @@ -21,6 +21,7 @@ in services = { authoritative_dns = [ "boron.cx.ts.hillion.co.uk" ]; downloads = "tywin.storage.ts.hillion.co.uk"; + frigate = "boron.cx.ts.hillion.co.uk"; gitea = "boron.cx.ts.hillion.co.uk"; homeassistant = "microserver.home.ts.hillion.co.uk"; mastodon = ""; diff --git a/modules/services/authoritative_dns.nix b/modules/services/authoritative_dns.nix index 98b57a7..ffb7880 100644 --- a/modules/services/authoritative_dns.nix +++ b/modules/services/authoritative_dns.nix @@ -40,6 +40,7 @@ in restic.tywin.storage 21600 CNAME tywin.storage.ts.hillion.co.uk. sonarr.downloads 21600 CNAME tywin.storage.ts.hillion.co.uk. zigbee2mqtt.home 21600 CNAME router.home.ts.hillion.co.uk. + frigate 21600 CNAME boron.cx.ts.hillion.co.uk. '' + (makeRecords "A" config.custom.dns.authoritative.ipv4.uk.co.hillion.ts) + "\n\n" + (makeRecords "AAAA" config.custom.dns.authoritative.ipv6.uk.co.hillion.ts); }; diff --git a/modules/services/default.nix b/modules/services/default.nix index 23ab028..840ee51 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -4,6 +4,7 @@ imports = [ ./authoritative_dns.nix ./downloads.nix + ./frigate.nix ./gitea/default.nix ./homeassistant.nix ./mastodon/default.nix diff --git a/modules/services/frigate.nix b/modules/services/frigate.nix new file mode 100644 index 0000000..220f356 --- /dev/null +++ b/modules/services/frigate.nix @@ -0,0 +1,30 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.custom.services.frigate; +in +{ + options.custom.services.frigate = { + enable = true; + }; + + config = lib.mkIf cfg.enable { + services.frigate = { + enable = true; + }; + + services.caddy = { + enable = true; + + virtualHosts = [{ + name = "frigate.ts.hillion.co.uk"; + extraConfig = '' + reverse_proxy SOMEWHERE + tls { + ca https://ca.ts.hillion.co.uk:8443/acme/acme/directory + } + ''; + }]; + }; + }; +}