Add borgbackup support

This commit is contained in:
Andrey Golovizin 2020-03-11 15:40:05 +01:00
parent 2eddcca425
commit 4171e699b4

View file

@ -44,11 +44,19 @@ in
type = types.str;
description = "Data directory.";
};
backupDir = mkOption {
default = "/var/backup/strojnadzor";
type = types.str;
description = "Backup directory.";
};
socketPath = mkOption {
default = "/run/strojnadzor.sock";
type = types.str;
description = "UNIX socket path.";
};
borgbackup = {
enable = mkEnableOption "backup via borgbackup";
};
};
};
@ -65,6 +73,7 @@ in
systemd.tmpfiles.rules = [
"d '${cfg.stateDir}/db' 0700 strojnadzor strojnadzor - -"
"d '${cfg.stateDir}/media' 0755 strojnadzor strojnadzor - -"
"d '${cfg.backupDir}/borg' 0700 strojnadzor strojnadzor - -"
];
systemd.sockets.strojnadzor = {
@ -133,5 +142,15 @@ in
};
};
};
services.borgbackup.jobs.strojnadzor = mkIf cfg.borgbackup.enable {
paths = [ cfg.stateDir ];
repo = "${cfg.backupDir}/borg";
compression = "auto,lzma";
encryption.mode = "none";
startAt = "hourly";
user = "strojnadzor";
group = "strojnadzor";
};
};
}