forked from lukas/nixos-config
43 lines
929 B
Nix
43 lines
929 B
Nix
{config, pkgs, ...}:
|
|
{
|
|
services.restic = {
|
|
backups = {
|
|
pinixBackup = {
|
|
user = "root";
|
|
paths = [
|
|
"/var/lib/prosody"
|
|
"/var/lib/forgejo/dump"
|
|
"/var/www"
|
|
"/var/lib/gotosocial"
|
|
];
|
|
passwordFile = config.age.secrets.resticPW.path;
|
|
repository = "/backup";
|
|
initialize = true;
|
|
|
|
timerConfig = {
|
|
OnCalendar = "03:00";
|
|
RandomizedDelaySec = "30min";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.services."restore-pi" = {
|
|
script = ''
|
|
set -e
|
|
systemctl stop prosody.service
|
|
rm -rf /var/lib/prosody
|
|
${pkgs.restic}/bin/restic restore latest --target /
|
|
systemctl start prosody.service
|
|
'';
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = "root";
|
|
Environment = [
|
|
"RESTIC_PASSWORD_FILE=${config.age.secrets.resticPW.path}"
|
|
"RESTIC_REPOSITORY=/backup"
|
|
];
|
|
};
|
|
};
|
|
|
|
}
|