Use restic for backups

Now that I have a working Restic backup server, use that for backups
rather than rsyncing to Synology
This commit is contained in:
Greg Hellings
2025-10-15 00:02:48 -05:00
parent 16e98c44b8
commit 3f587cdf8e
5 changed files with 76 additions and 43 deletions
-2
View File
@@ -137,12 +137,10 @@
greg.backup.jobs.zwave = {
src = "/var/lib/zwave";
dest = "zwave";
id = "zwave-rsnap";
};
greg.backup.jobs.hass-backup = {
src = "/var/lib/hass";
dest = "hass";
id = "hass-rsnap";
};
}
-1
View File
@@ -25,7 +25,6 @@ in
clightning = {
src = config.services.clightning.replication.local.directory;
dest = "hosea-clightning";
id = "clightning";
};
};
+20 -1
View File
@@ -1,4 +1,9 @@
{ config, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
{
age.secrets.nextcloudadmin.file = ../../secrets/nextcloudadmin.age;
@@ -33,5 +38,19 @@
greg.backup.jobs.nextcloud-bkup = {
src = "/var/lib/nextcloud";
dest = "nextcloud-backup";
pre = lib.getExe (
pkgs.writeShellApplication {
name = "nextcloud-backup-pre";
runtimeInputs = [ config.services.nextcloud.occ ];
text = "nextcloud-occ maintenance:mode --on";
}
);
post = lib.getExe (
pkgs.writeShellApplication {
name = "nextcloud-backup-post";
runtimeInputs = [ config.services.nextcloud.occ ];
text = "nextcloud-occ maintenance:mode --off";
}
);
};
}
+18 -1
View File
@@ -9,7 +9,14 @@ let
makeSyncFolders = _: job: {
inherit (job) user;
backupCleanupCommand = lib.optionalString (job.post != "") job.post;
backupPrepareCommand = lib.optionalString (job.pre != "") job.pre;
extraOptions = [
"--insecure-tls"
"--insecure-no-password"
];
initialize = true;
environmentFile = config.age.secrets.restic-env.path;
passwordFile = config.age.secrets.restic-pw.path;
paths = [ job.src ];
pruneOpts = [
@@ -17,7 +24,7 @@ let
"--keep-weekly 5"
"--keep-monthly 12"
];
repository = "rest:nas1.shire-zebra.ts.net:30248/${job.dest}";
repository = "rest:https://nas1.shire-zebra.ts.net:30248/${job.dest}";
};
in
with lib;
@@ -46,6 +53,16 @@ with lib;
default = "root";
description = "User to run backup as - defaults to root";
};
pre = mkOption {
type = types.str;
default = "";
};
post = mkOption {
type = types.str;
default = "";
};
};
}
)
+38 -38
View File
@@ -1,39 +1,39 @@
age-encryption.org/v1
-> ssh-ed25519 64uajw Ewg5eQIXzG1qM7mNbhEIUIs+OLZD7+i/IRkKyStDNC0
yYfXIZKW4pyU3STsjZbKWG5XCQjpiOg9SYXDH/PoQEc
-> ssh-ed25519 oyEmTw lDC3PWUfz7ejnZdjEEod2HkPj4L6qJ0A3c9tBGOjMzo
aiGSnwcDeJqDHhte+DO3aUDpFDtZX9JhRVMIc/rvKI0
-> ssh-ed25519 mOmPfg CV4w75sfNgoaVEOfHtfdUE//pRK90N6Fe6P+psqM12E
opufb+AidJt2+zRIlxM9FDsHFlvDaC1MUEQYOFQ/03g
-> ssh-ed25519 YJiRbw UN4pZVqUPRKILbDQvXbl2NS+PfQhbz16VenR7ZqODg0
fFuJo2ruH5+JyLkcSrlbsQyoRHz7I2qV2JtV2a0BNBI
-> ssh-ed25519 aY2AXA GOPXUrd+z6aGnYaB8Yy+torLm6/Cl8Oc464UMO3PxAg
s/3dZm12hV/sCfV+PYQE6NcLbhj9WxuTZDMjGs3NUVU
-> ssh-ed25519 xNtnoA mmo3c8KukkPPuAs8ivBXWTl/YjGci2dSYDjwPHF1dFU
zxoRSVtlrA1wxsZSqMe/g5l614q/46aS6efCe0tXiCE
-> ssh-ed25519 AQhf1g hclpuHQVYUDRg3dJV5hDDIN34MhoZYkntKeXKQFbFm8
ZiTJ4BG5+JLcCEc7rlc5yceIJAO/WQQHp10NKqzmfB4
-> ssh-ed25519 B8wa7Q T/H2CRjsHWI6msKS02gUIZr0vqa/w0AP0lI4tEXUbVY
MO6A+ifsqnfpd9Dt7WUlFRbyXGi/M1nHiTn1p5+fqso
-> ssh-ed25519 8UnW5Q IjtkN3m/G4PcFWR5Mli3h9rTdjukRfvGZX203Cb45FI
SBABmggmxTh0IJ36rxitTMz7hylWMrmKwCVMXiU20Wk
-> ssh-ed25519 0/WsKg +LrsikPKc4Jgd9pV+43TT2FDeG6QeGT1RGLhhsd0KxQ
LyW1q6pXCDf25dghnmvTrYZl5zVyJoxw+ZSLPjE/LQs
-> ssh-ed25519 Nl/5yA J1fk01LgEQdtLqsmKvlUk5f1dQGPBsMv0N7/QsbQYA4
91l7hzj0v8w2UC8gbyyKjpkTPk+4ZcQJy7ZRkk5vXsY
-> ssh-ed25519 GdLgCQ cjOoJLTsSaiqov21M2iBSys++aQGfMzswmeJxl0dtg8
dSTAbAzuNXtdFyN6T/YWEwT0asrG9uayFMESPpY10Do
-> ssh-ed25519 tOH/HQ 1DPUq9Ef6ENEvWX4cSFkXq8KoXhprK7gLc1HORDEcys
RWDaxcbXnvXwqntWEv9WJ/fmw8A9WlChGLd/0EFRBSc
-> ssh-ed25519 FpzvfQ zJsqgeZSk61DPoJL0du/m2XppDKvmTw9c8h+RXQGg30
T7z2B/LREWRbebArcZrfgACyZjlLATdodF6c2XBC/uc
-> ssh-ed25519 kdPvzQ CBVyfDzdq4WSg+2a6tKsK7IXN5oyPbsH4ObB1daLRGA
W/D33JgAphkQtkkF/6jAKPYOialqVHT7w+5Aly3v+ME
-> ssh-ed25519 onmXpg nuCsyliwCeUWG9FIxltmf0YPqmKinQ9q04TLYyQIkQI
CeHPwXmbsAUAoejyRg2yDgbJZLIMwwXtlX1KJzmnSHs
-> ssh-ed25519 CnhD0g RET0yPo/uOqifqTjYjFpYhuSrgRRgc00oywq1AkZSUI
Z+FNTt7KoWk/qQGqcqSJO//+Pa6+L/quGn0a2/EUmFA
-> ssh-ed25519 4ep2UA V+3GuIC9vXloW0FB7TOvKKmKsbGD6ROL3z84vrH6DwU
j0DeGO3jXGLLDGck3kEPeCu8SE2oGcFaRQnLdHanFEc
--- +kvw9Qfn56wQsY30bZ5CfE2/FvEKfph0S2148IglJt4
 JÐÎXû D¸p=Y_7S´JšŒ`1cÔ/±÷ˆÔ4Ôô׎5=Áð»»²P¾[cùLÁsæü.^žž§O¹I@BDQšE$ÃDØ™á†ö…â]`†ôâêÎ>ìŽçB­*Ha¤¼ÎÎå2Ía ³”Á*7ý’žªØLJd
-> ssh-ed25519 64uajw xMCV1uHiwk2s83vNDmNRQtszWxG0elyWmFpJyKF7dyE
pWwLY7pOkx+SbunNzpNVkGWNvThUY9Kd7iCNsf8DFxo
-> ssh-ed25519 oyEmTw NFreBngEA4Hs5RGSXJA9eWyC+k4nYzax51m9uQDGxRs
n8/QT7nheKFK0FVEefaUjmc2YQsUwJwRWRCMrF/Of48
-> ssh-ed25519 mOmPfg MEMstFCiUrYvfuSl7O3DbSsZ/TH7LGlvI3VEBhliJn0
JiAllPT8Vrrk3VvzpWIISh1LBx6CaEEICaGHbP5J1eg
-> ssh-ed25519 YJiRbw fOv0GutPkOTG4JSUrFoFrDRy3KEaGbmyLSJi3Qo/uVQ
dDY4eOArLCdfzx3H8xSCRcxHfw8PHc1iMsrgyiUexM4
-> ssh-ed25519 aY2AXA iKmeIX4giuXtyu+H2elcdpLcf5fbQVEOjTzuGkIX8V0
W8liPVNdgrgOdFr1D/jI3pFrxA+vzEPYlY1hnjHq1Q8
-> ssh-ed25519 xNtnoA 0Scb7978OxwSh3Oc0s1wkX3GgDHT5iIp46Lb2wNggRc
oixJJfjMnztzntmFNOJsa0iJ+USuITKMYzbsmzVe8Aw
-> ssh-ed25519 AQhf1g x4tuPyM+aMU52YE9IgKKwCa6iN1rzuAUWON9kbDSNDE
CLiT/7bQE44JWrgJpRi9rp+ZxhRP/34cVU0mA8OVS4k
-> ssh-ed25519 B8wa7Q 8ZR3idfNM6X74gK4LZLm5VblQ/ceBG3eDCrnKRk1MzQ
OkYDODBQ8/nY80qu4CMgNL6DrvpCMgLe3foxTTZbGl8
-> ssh-ed25519 8UnW5Q ro+1M6W5gzZMJRI38VQhiwvUonSBiYvW1+Pe3KHifHU
tVHVC+xcgYG9yqFvY853VXAu913+2G80oYdJHc8vTyQ
-> ssh-ed25519 0/WsKg UpHvP87FdyLX2grLl3aLwUoK3T9ohsMN7HgyAkEp/zA
xzTtsQfEYh3F+DqO76tNZNWupF8TwwsuiqRb5FlbCF8
-> ssh-ed25519 Nl/5yA F1e6LCghJTL6w2LR60cXOuXx7TslubVkhNTjILT9NxM
D2wt5laJV575v7iW1MlQgNRrJNVmf89w+FJiCqfgHb8
-> ssh-ed25519 GdLgCQ gap9KcQwvkt3QMMuQY5ant6SSHEQyfwRTLcuoFxh4gk
V7M97uT4NIDL5cZDkGDQXnlQC+BjPC/ibF8w9IMOPno
-> ssh-ed25519 tOH/HQ 0t/AK80wx9bvGdNlZ8BUUwA0vAB27ajwi22snpcZKDo
0cFKSEAsQoCAVedOFZjNsxHZvLQKF53n4ltn3WlY2WE
-> ssh-ed25519 FpzvfQ iUMGpA4zfdodvKZsKmUiG4UB0dBaLtDEUoEghCF5SD8
FDp9+CN035AN0QelGGiKfpvtqg9TZe75z3Clm+Acx+s
-> ssh-ed25519 kdPvzQ pI2kKHVuVhCv3fvJX064PFO7mKGeZOR9ur0GcAD+byg
X7FlMLyHzcwnb1NqP3XJEM36x4UWzRyim/J43O0Xz6s
-> ssh-ed25519 onmXpg mje9jM5JkVkaflDUvAs/TLpE1c4QDdQpz3AuOFiJoSc
YZ/jyd/5VPLaj4SYtcDivOq78okQtfIpydVQ8JZjkWM
-> ssh-ed25519 CnhD0g vQiUwGRgTmr9iqR9J0BpivLm/sHy7CDK9ho8iVFoXzA
nvSuNyiyC2MuD24UOElUbacM/DudgXA/hXZbrT3hbp8
-> ssh-ed25519 4ep2UA UnqHhlPHdqtnLIy/WTxDALUIXVuyvoaKue1dBr8rwXM
nIlLZYRq8FxOBaUMBvCh/20RuzLTy/66xTcay8PnrVQ
--- mxVIwN+chR3Laf2ALk3gjAhOTjxC8TrfhTy7VAaUTNI
àÑeaˆWSVÊ> ¼t¨/_ñéÞ×– BÚ{g(ëwmRãeë\æ\␍¸ E&¹ŽNØR7ñ)óhêfŠ@M;“Án¨"D¨‰Ö+hóUQ'Ãà±»œ±Vâ­ôTûU¾†¢ÃiÔµ$¬3ZJû«T8