improve the backup situation

This commit is contained in:
nora 2025-08-11 21:23:48 +02:00
parent b8a6a9aeac
commit 56cf4e9212
35 changed files with 159 additions and 57 deletions

View file

@ -39,12 +39,10 @@ in
};
};
services.custom-backup.jobs = [
{
app = "does-it-build";
file = "/var/lib/does-it-build/db.sqlite";
}
];
services.custom-backup-restic.jobs = [{
app = "does-it-build";
path = "/var/lib/does-it-build/db.sqlite";
}];
users.users.does-it-build = {
isSystemUser = true;

View file

@ -1,4 +1,4 @@
{ config, ... }: {
{ config, lib, pkgs, ... }: {
age.secrets.forgejo_s3_key_secret.file = ../../secrets/forgejo_s3_key_secret.age;
@ -51,8 +51,23 @@
'';
};
services.custom-backup.jobs = [{
services.custom-backup-restic.jobs = [{
app = "forgejo";
file = "/var/lib/forgejo/data/forgejo.db";
# this is a mess. do not question it. it is a beautiful mess.
dynamicFilesFrom = "${lib.getExe pkgs.sudo} --user=forgejo ${lib.getExe (pkgs.writeShellApplication {
name = "backup-forgejo.sh";
runtimeInputs = [ pkgs.unzip ];
text = ''
rm -rf /tmp/forgejo-backup
mkdir -p /tmp/forgejo-backup
{
cd /tmp/forgejo-backup
${lib.getExe config.services.forgejo.package} dump -c ${config.services.forgejo.customDir}/conf/app.ini
unzip forgejo-dump-* >/dev/null
rm forgejo-dump-*
} >&2
echo /tmp/forgejo-backup
'';
})}";
}];
}

View file

@ -25,10 +25,10 @@ in
};
};
services.custom-backup.jobs = [
services.custom-backup-restic.jobs = [
{
app = "killua";
file = "${dataDir}/trivia_questions.json";
path = dataDir;
}
];