24 lines
737 B
Nix
24 lines
737 B
Nix
{ pkgs, ... }:
|
|
let
|
|
seccfg = toString <secrets/mediawikibot-config.json>;
|
|
statecfg = "/var/lib/mediawiki-matrix-bot/config.json";
|
|
in {
|
|
systemd.services.mediawiki-matrix-bot = {
|
|
description = "Mediawiki Matrix Bot";
|
|
after = [ "network-online.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
Restart = "always";
|
|
RestartSec = "60s";
|
|
DynamicUser = true;
|
|
StateDirectory = "mediawiki-matrix-bot";
|
|
PermissionsStartOnly = true;
|
|
ExecStartPre = pkgs.writeDash "mediawikibot-copy-config" ''
|
|
install -D -m644 ${seccfg} ${statecfg}
|
|
'';
|
|
ExecStart = "${pkgs.mediawiki-matrix-bot}/bin/mediawiki-matrix-bot ${statecfg}";
|
|
PrivateTmp = true;
|
|
};
|
|
};
|
|
}
|