summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/rss/sofa.nix
blob: b9180fd45db3bc4b2e1370e0afedf39bbdbe2647 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{ 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;
    };
  };
}