nixos/vaultwarden: Add backup
This commit is contained in:
@@ -36,7 +36,11 @@ in
|
||||
|
||||
secrets = {
|
||||
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFP2mF50ENpnJnr+VTnG9P+JFPjgwvoIxCLyJPzXRpVy";
|
||||
files."vaultwarden.env" = {};
|
||||
files = {
|
||||
"vaultwarden/config.env" = {};
|
||||
"vaultwarden/backup-pass.txt" = {};
|
||||
"vaultwarden/backup-ssh.key" = {};
|
||||
};
|
||||
};
|
||||
|
||||
firewall = {
|
||||
@@ -57,6 +61,10 @@ in
|
||||
network.networks."80-container-host0" = networkdAssignment "host0" assignments.internal;
|
||||
};
|
||||
|
||||
programs.ssh.knownHostsFiles = [
|
||||
lib.my.sshKeyFiles.rsyncNet
|
||||
];
|
||||
|
||||
services = {
|
||||
vaultwarden = {
|
||||
enable = true;
|
||||
@@ -86,7 +94,28 @@ in
|
||||
|
||||
PUSH_ENABLED = true;
|
||||
};
|
||||
environmentFile = config.age.secrets."vaultwarden.env".path;
|
||||
environmentFile = config.age.secrets."vaultwarden/config.env".path;
|
||||
};
|
||||
|
||||
borgbackup.jobs.vaultwarden = {
|
||||
paths = [ vwData ];
|
||||
repo = "zh2855@zh2855.rsync.net:borg/vaultwarden2";
|
||||
doInit = true;
|
||||
environment = {
|
||||
BORG_REMOTE_PATH = "borg1";
|
||||
BORG_RSH = ''ssh -i ${config.age.secrets."vaultwarden/backup-ssh.key".path}'';
|
||||
};
|
||||
compression = "zstd,10";
|
||||
encryption = {
|
||||
mode = "repokey";
|
||||
passCommand = ''cat ${config.age.secrets."vaultwarden/backup-pass.txt".path}'';
|
||||
};
|
||||
prune.keep = {
|
||||
within = "1d";
|
||||
daily = 7;
|
||||
weekly = 4;
|
||||
monthly = -1;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user