53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
let
|
||
|
filter-file = ./filter.yml;
|
||
|
pkg = with pkgs.python3Packages;buildPythonPackage rec {
|
||
|
version = "d16ce227dc68c9f60f6dd06e6835bab7cdfdf61b";
|
||
|
pname = "ebk-notify";
|
||
|
propagatedBuildInputs = [
|
||
|
docopt
|
||
|
pyyaml
|
||
|
requests
|
||
|
beautifulsoup4
|
||
|
dateutil
|
||
|
feedgen
|
||
|
];
|
||
|
src = pkgs.fetchgit {
|
||
|
url = "http://cgit.euer.krebsco.de/ebk-notify";
|
||
|
rev = version;
|
||
|
sha256 = "15dlhp17alm01fw7mzdyh2z9zwz8psrs489lxs3hgg1p5wa0kzsp";
|
||
|
};
|
||
|
};
|
||
|
domain = "feed.euer.krebsco.de";
|
||
|
path = "/var/www/feed.euer.krebsco.de";
|
||
|
in
|
||
|
{
|
||
|
systemd.tmpfiles.rules = [
|
||
|
"d ${path} nginx nogroup - -"
|
||
|
];
|
||
|
krebs.secret.files.ebknotify = {
|
||
|
path = "/etc/ebk-notify.yml";
|
||
|
owner.name = "nginx";
|
||
|
source-path = "${<secrets/ebk-notify.yml>}";
|
||
|
};
|
||
|
systemd.services.ebk-notify = {
|
||
|
startAt = "*:0/10";
|
||
|
serviceConfig = {
|
||
|
User = "nginx"; # TODO better permission setting
|
||
|
# PrivateTmp = true;
|
||
|
ExecStart = "${pkg}/bin/ebk-notify --atom --outdir ${path} --config /etc/ebk-notify.yml --cache /tmp/ebk-cache.json --filter ${filter-file} --wait 30";
|
||
|
};
|
||
|
};
|
||
|
systemd.timers.ebk-notify.timerConfig.RandomizedDelaySec = "120";
|
||
|
services.nginx = {
|
||
|
virtualHosts."${domain}" = {
|
||
|
forceSSL = true;
|
||
|
enableACME = true;
|
||
|
locations."/" = {
|
||
|
root = path;
|
||
|
index = "root.atom";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|