diff --git a/hosts/dnsc-vps-sm/default.nix b/hosts/dnsc-vps-sm/default.nix index f039831..fa042a0 100644 --- a/hosts/dnsc-vps-sm/default.nix +++ b/hosts/dnsc-vps-sm/default.nix @@ -115,6 +115,7 @@ wget docker-compose actual-server + restic ]; # Programs @@ -160,6 +161,26 @@ ''; }; + # Restic + services.restic.backups.dnsc-vps-sm-backup = { + initialize = true; + passwordFile = config.age.secrets."restic/password".path; + repository = "sftp:dnsc-storage:restic/dnsc-vps-sm"; + paths = [ + "/var/backup/vaultwarden" + ]; + pruneOpts = [ + "--keep-daily 1" + "--keep-weekly 3" + "--keep-monthly 5" + "--keep-yearly 10" + ]; + timerConfig = { + OnCalendar = "daily"; + Persistent = true; + }; + }; + # Environment variables environment.variables.EDITOR = "nvim"; diff --git a/modules/vaultwarden/default.nix b/modules/vaultwarden/default.nix index dfd8f08..a1b8c3d 100644 --- a/modules/vaultwarden/default.nix +++ b/modules/vaultwarden/default.nix @@ -1,8 +1,11 @@ { - config, ... -}: { + config, + ... +}: +{ services.vaultwarden = { enable = true; environmentFile = config.age.secrets."vaultwarden/env".path; + backupDir = "/var/backup/vaultwarden"; }; }