nixos-config/machines/orbi/service-taskchampion.nix

43 lines
1.1 KiB
Nix
Raw Normal View History

2024-08-29 03:26:04 +02:00
{
config,
lib,
pkgs,
2024-09-03 13:20:29 +02:00
zerotierInterface,
2024-08-29 03:26:04 +02:00
...
}:
{
2023-12-09 17:15:50 +01:00
verify.closed.public.ports.taskchampion = [ config.services.taskchampion-sync-server.port ];
verify.localCommands.taskchampion =
let
domain = "http://orbi.private:10222";
curl = lib.getExe pkgs.curl;
grep = lib.getExe pkgs.gnugrep;
grepString = "TaskChampion sync server";
in
''
if ${curl} -s -o /dev/null -w "%{http_code}" ${domain} | ${grep} -q "200"; then
if ${curl} -s ${domain} | ${grep} -q "${grepString}"; then
echo "[ OK ] Die Seite hat Statuscode 200 und enthält den String '${grepString}'."
else
echo "[Fail] Der Statuscode ist 200, aber die Seite enthält den String '${grepString}' nicht."
fi
else
echo "[Fail] Die Seite hat keinen Statuscode 200."
fi
'';
2024-09-03 13:21:26 +02:00
networking.firewall.interfaces.wg0.allowedTCPPorts = [
config.services.taskchampion-sync-server.port
];
networking.firewall.interfaces.wg0.allowedUDPPorts = [
config.services.taskchampion-sync-server.port
];
2024-09-03 13:20:29 +02:00
services.taskchampion-sync-server = {
2023-12-09 17:15:50 +01:00
enable = true;
2024-09-03 13:20:29 +02:00
openFirewall = false;
2023-12-09 17:15:50 +01:00
};
}