From db0040dcf4ed26fda32f029bc0f1123282c72862 Mon Sep 17 00:00:00 2001 From: Fabian Montero Date: Wed, 27 Aug 2025 18:55:31 -0600 Subject: [PATCH] vps: enable borg backups --- sys/platforms/vps/borg.nix | 48 +++++++++++++++++++++++++++++++ sys/platforms/vps/default.nix | 1 + sys/platforms/vps/srv/trilium.nix | 1 + 3 files changed, 50 insertions(+) create mode 100644 sys/platforms/vps/borg.nix diff --git a/sys/platforms/vps/borg.nix b/sys/platforms/vps/borg.nix new file mode 100644 index 0000000..9d9b0e7 --- /dev/null +++ b/sys/platforms/vps/borg.nix @@ -0,0 +1,48 @@ +{ + config, + pkgs, + lib, + flakes, + ... +}: { + services.borgbackup.jobs = { + rsync = { + paths = [ + "/var/lib/forgejo" + "/var/lib/mealie" + "/var/lib/trilium" + ]; + exclude = [ + ]; + user = "root"; + group = "root"; + doInit = true; + startAt = [ + "hourly" + ]; + inhibitsSleep = true; + persistentTimer = true; + + repo = "zh5777@zh5777.rsync.net:vps"; + encryption = { + mode = "repokey-blake2"; + passCommand = "cat /var/trust/borg/vps_passphrase"; + }; + compression = "auto,lz4"; + prune = { + keep = { + hourly = 24; + daily = 7; + weekly = 4; + monthly = 12; + yearly = 99; + }; + }; + extraArgs = [ + "--remote-path=borg14" + ]; + }; + }; + + environment.sessionVariables.BORG_REMOTE_PATH = "borg14"; +} diff --git a/sys/platforms/vps/default.nix b/sys/platforms/vps/default.nix index c465886..4020acc 100644 --- a/sys/platforms/vps/default.nix +++ b/sys/platforms/vps/default.nix @@ -15,6 +15,7 @@ with lib; { ./hardware-configuration.nix ./srv ./networkMap.nix + ./borg.nix ]; local.sys = { diff --git a/sys/platforms/vps/srv/trilium.nix b/sys/platforms/vps/srv/trilium.nix index 5662300..32774f5 100644 --- a/sys/platforms/vps/srv/trilium.nix +++ b/sys/platforms/vps/srv/trilium.nix @@ -22,6 +22,7 @@ with lib; { host = "127.0.0.1"; port = 8458; noAuthentication = false; + noBackup = true; # I already backup the whole dataDir, so no need for this instanceName = "posixlycorrect"; dataDir = "/var/lib/trilium"; nginx = {