27 lines
780 B
Nix
27 lines
780 B
Nix
|
{ pkgs, lib, config, ... }:
|
||
|
let
|
||
|
fqdn = "rss.euer.krebsco.de";
|
||
|
ratt-path = "/var/lib/ratt/";
|
||
|
out-path = "${ratt-path}/sofa.xml";
|
||
|
in {
|
||
|
systemd.tmpfiles.rules = ["d ${ratt-path} 0750 nginx nginx - -" ];
|
||
|
systemd.services.run-ratt-sofa = {
|
||
|
enable = true;
|
||
|
path = with pkgs; [ ratt xmlstarlet ];
|
||
|
script = builtins.readFile ./ratt-hourly.sh;
|
||
|
scriptArgs = "${./sofa-urls} ${out-path}";
|
||
|
|
||
|
preStart = "install -v -m750 ${./sofa.yml} ${ratt-path}/sofa.yml"; # ratt requires the config file in the cwd
|
||
|
serviceConfig.User = "nginx";
|
||
|
serviceConfig.WorkingDirectory = ratt-path;
|
||
|
startAt = "00/3:30"; # every 3 hours, fetch latest
|
||
|
};
|
||
|
|
||
|
services.nginx.virtualHosts."${fqdn}" = {
|
||
|
locations."=/ratt/sofa.xml" = {
|
||
|
alias = out-path;
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
|