mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 19:51:34 +01:00
Fix nextcloud backups
This commit is contained in:
parent
de67dc40bf
commit
4f31384329
2 changed files with 12 additions and 3 deletions
|
|
@ -1,7 +1,13 @@
|
||||||
{ config, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.custom.services.nextcloud;
|
cfg = config.custom.services.nextcloud;
|
||||||
|
|
||||||
|
user = config.users.users.nextcloud.name;
|
||||||
dataDir = config.services.nextcloud.home;
|
dataDir = config.services.nextcloud.home;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
@ -12,7 +18,7 @@ in
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
backupPrepareCommand = ''
|
backupPrepareCommand = ''
|
||||||
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on
|
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on
|
||||||
${lib.getExe' config.services.postgresql.package "pg_dump"} nextcloud --format=custom --file=${dataDir}/db.dump
|
${lib.getExe pkgs.sudo} --user=${user} ${lib.getExe' config.services.postgresql.package "pg_dump"} nextcloud --format=custom --file=${dataDir}/db.dump
|
||||||
'';
|
'';
|
||||||
backupCleanupCommand = "${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off";
|
backupCleanupCommand = "${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off";
|
||||||
paths = [
|
paths = [
|
||||||
|
|
@ -25,7 +31,7 @@ in
|
||||||
restoreCommand = {
|
restoreCommand = {
|
||||||
preRestore = "${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on";
|
preRestore = "${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on";
|
||||||
postRestore = ''
|
postRestore = ''
|
||||||
pg_restore --clean --if-exists --dbname nextcloud ${dataDir}/db.dump
|
sudo --user=${user} pg_restore --clean --if-exists --dbname nextcloud ${dataDir}/db.dump
|
||||||
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off
|
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,9 @@ in
|
||||||
"restic/password" = { };
|
"restic/password" = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules =
|
||||||
|
resticBackups |> lib.mapAttrsToList (name: _: "d /var/cache/restic-backups-${name} 700 - - -");
|
||||||
|
|
||||||
services.restic.backups =
|
services.restic.backups =
|
||||||
resticBackups
|
resticBackups
|
||||||
|> lib.mapAttrs (
|
|> lib.mapAttrs (
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue