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

@ -1,4 +1,8 @@
{config, ...}: let
{
pkgs,
config,
...
}: let
domain = "gitea.${config.services.nginx.domain}";
in {
services.gitea = {
@ -52,4 +56,24 @@ in {
enabled = true
'';
};
services.backups.gitea = {
user = "gitea";
paths = [
"/var/lib/gitea/gitea-db.sql"
"/var/lib/gitea/repositories/"
"/var/lib/gitea/data/"
"/var/lib/gitea/custom/"
# Conf is backed up via nix
];
preparation = {
packages = [config.services.postgresql.package];
text = "pg_dump ${config.services.gitea.database.name} --file=/var/lib/gitea/gitea-db.sql";
};
cleanup = {
packages = [pkgs.coreutils];
text = "rm /var/lib/gitea/gitea-db.sql";
};
pauseServices = ["gitea.service"];
};
}