{ unstable, ... }: let gatus.up = [ "[STATUS] == 200" "[RESPONSE_TIME] < 300" ]; in { services.gatus = { package = unstable.gatus; enable = true; openFirewall = true; settings = { web.port = 8081; storage = { path = "/var/lib/gatus/db.sqlite"; type = "sqlite"; caching = true; }; ui.dark-mode = true; endpoints = [ { name = "nas"; group = "external"; url = "http://192.168.50.240"; interval = "1m"; conditions = gatus.up; } { name = "site"; group = "remote"; url = "https://squi.bid"; interval = "2m"; conditions = gatus.up; } { name = "git site"; group = "remote"; url = "https://git.squi.bid"; interval = "2m"; conditions = gatus.up; } { name = "voidpkgs"; group = "remote"; url = "https://voidpkgs.squi.bid"; interval = "2m"; conditions = [''[BODY] == pat(*x86_64-repodata.sig2*)'']; } ]; }; }; }