summary refs log tree commit diff stats
path: root/system/services/restic
diff options
context:
space:
mode:
authorsils <sils@sils.li>2024-01-06 20:55:56 +0100
committersils <sils@sils.li>2024-01-07 23:18:04 +0100
commitbba959118a19dad0a062f837f0dcad76fb497ec2 (patch)
tree9b684fede90ffa00f21b805485e07dbe72b8d33c /system/services/restic
parentfeat(system/secrets): rename .tix files to .age (diff)
downloadnixos-server-bba959118a19dad0a062f837f0dcad76fb497ec2.tar.gz
nixos-server-bba959118a19dad0a062f837f0dcad76fb497ec2.zip
feat(system): add restic
Diffstat (limited to 'system/services/restic')
-rw-r--r--system/services/restic/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/system/services/restic/default.nix b/system/services/restic/default.nix
new file mode 100644
index 0000000..3620540
--- /dev/null
+++ b/system/services/restic/default.nix
@@ -0,0 +1,25 @@
+{config, ...}: {
+  services.restic.backups = let
+    srvDir = "/srv";
+    boxUser = "u384702-sub2";
+  in {
+    storagebox = {
+      initialize = true;
+      paths = [
+        srvDir
+      ];
+      exclude = [
+        ".snapshots"
+      ];
+      extraBackupArgs = [
+        "--exclude-if-present .nobackup" # Don't backup directory if it contains a file called ".nobackup"
+        "--verbose" # Spam log
+      ];
+      passwordFile = config.age.secrets.resticpass.path;
+      extraOptions = [
+        "rclone.program='ssh -p 23 ${boxUser}@${boxUser}.your-storagebox.de -i ${config.age.secrets.resticssh.path}'"
+      ];
+      repository = "rclone: "; # There is only one repository served
+    };
+  };
+}