outline: Configure backups

This commit is contained in:
SebastianStork 2025-09-30 23:43:54 +02:00
parent 33e53f46da
commit 996cbb34ee
2 changed files with 22 additions and 3 deletions

View file

@ -1,6 +1,14 @@
{ config, lib, ... }:
{
config,
pkgs,
lib,
...
}:
let
cfg = config.custom.services.outline;
dataDir = "/var/lib/outline";
inherit (config.services.outline) user;
in
{
options.custom.services.outline = {
@ -13,6 +21,7 @@ in
type = lib.types.port;
default = 32886;
};
doBackups = lib.mkEnableOption "";
};
config = lib.mkIf cfg.enable {
@ -60,5 +69,14 @@ in
};
systemd.services.outline.enableStrictShellChecks = false;
custom.services.resticBackups.outline = lib.mkIf cfg.doBackups {
conflictingService = "outline.service";
paths = [ dataDir ];
extraConfig.backupPrepareCommand = ''
${lib.getExe pkgs.sudo} --user=${user} ${lib.getExe' config.services.postgresql.package "pg_dump"} outline --format=custom --file=${dataDir}/db.dump
'';
restoreCommand.postRestore = "sudo --user=${user} pg_restore --clean --if-exists --dbname outline ${dataDir}/db.dump";
};
};
}