backups: Add atomic backups with restic

This commit is contained in:
Tristan Daniël Maat 2023-09-22 06:20:36 +02:00
parent ab5e088016
commit 87dd9daa4f
Signed by: tlater
GPG key ID: 49670FD774E43268
9 changed files with 316 additions and 5 deletions
configuration/services

View file

@ -74,4 +74,33 @@ in {
bantime = 86400
'';
};
services.backups.nextcloud = {
user = "nextcloud";
paths = [
"/var/lib/nextcloud/nextcloud-db.sql"
"/var/lib/nextcloud/data/"
"/var/lib/nextcloud/config/config.php"
];
preparation = {
packages = [
config.services.postgresql.package
config.services.nextcloud.occ
];
text = ''
nextcloud-occ maintenance:mode --on
pg_dump ${config.services.nextcloud.config.dbname} --file=/var/lib/nextcloud/nextcloud-db.sql
'';
};
cleanup = {
packages = [
pkgs.coreutils
config.services.nextcloud.occ
];
text = ''
rm /var/lib/nextcloud/nextcloud-db.sql
nextcloud-occ maintenance:mode --off
'';
};
};
}