feat: backup improvements — AlbyHub Restic, Gitea dump CronJob, Immich → MinIO #17

Merged
greg merged 5 commits from klaatu/nixos:feature/backup-improvements into main 2026-04-04 18:00:19 +00:00
Showing only changes of commit 58a5c95c32 - Show all commits
+24
View File
@@ -145,6 +145,24 @@ in
};
};
prometheus.exporters.graphite.enable = true;
restic.backups.albyhub = {
Outdated
Review

All of the changes in this file can be simplified to use the greg.backup module. It has support for pre and post commands, includes configured pruneOpts that I like, and configures other settings that I need for accessing my Restic server, such as disabling TLS checking.

All of the changes in this file can be simplified to use the `greg.backup` module. It has support for pre and post commands, includes configured pruneOpts that I like, and configures other settings that I need for accessing my Restic server, such as disabling TLS checking.
# AlbyHub LDK node data — must not be snapshotted live
paths = [ "/chain/alby" ];
environmentFile = config.age.secrets.restic-env.path;
passwordFile = config.age.secrets.restic-pw.path;
initialize = true;
pruneOpts = [
"--keep-daily 7"
"--keep-weekly 4"
"--keep-monthly 12"
];
backupPrepareCommand = "systemctl stop albyhub || true";
backupCleanupCommand = "systemctl start albyhub";
timerConfig = {
OnCalendar = "02:30";
RandomizedDelaySec = "30min";
};
};
# Configure keymap
xserver.xkb = {
layout = "us";
@@ -158,6 +176,12 @@ in
file = ../../../secrets/grafana-api-token.age;
owner = "grafana";
};
age.secrets.restic-pw = {
file = ../../../secrets/restic-pw.age;
};
age.secrets.restic-env = {
file = ../../../secrets/restic-env.age;
};
environment.etc = {
"grafana-dashboards/system-health.json".text = ''