Add borgbackup support
This commit is contained in:
parent
2eddcca425
commit
4171e699b4
1 changed files with 19 additions and 0 deletions
19
module.nix
19
module.nix
|
|
@ -44,11 +44,19 @@ in
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "Data directory.";
|
description = "Data directory.";
|
||||||
};
|
};
|
||||||
|
backupDir = mkOption {
|
||||||
|
default = "/var/backup/strojnadzor";
|
||||||
|
type = types.str;
|
||||||
|
description = "Backup directory.";
|
||||||
|
};
|
||||||
socketPath = mkOption {
|
socketPath = mkOption {
|
||||||
default = "/run/strojnadzor.sock";
|
default = "/run/strojnadzor.sock";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "UNIX socket path.";
|
description = "UNIX socket path.";
|
||||||
};
|
};
|
||||||
|
borgbackup = {
|
||||||
|
enable = mkEnableOption "backup via borgbackup";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -65,6 +73,7 @@ in
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d '${cfg.stateDir}/db' 0700 strojnadzor strojnadzor - -"
|
"d '${cfg.stateDir}/db' 0700 strojnadzor strojnadzor - -"
|
||||||
"d '${cfg.stateDir}/media' 0755 strojnadzor strojnadzor - -"
|
"d '${cfg.stateDir}/media' 0755 strojnadzor strojnadzor - -"
|
||||||
|
"d '${cfg.backupDir}/borg' 0700 strojnadzor strojnadzor - -"
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.sockets.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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue