mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 23:11:34 +01:00
Don't hardcode backup paths
This commit is contained in:
parent
73a17261cc
commit
b381835c6c
5 changed files with 14 additions and 14 deletions
|
|
@ -15,7 +15,7 @@
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop actual.service";
|
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop actual.service";
|
||||||
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start actual.service";
|
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start actual.service";
|
||||||
paths = [ "/var/lib/actual" ];
|
paths = [ config.services.actual.settings.dataDir ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,10 @@
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop hedgedoc.service";
|
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop hedgedoc.service";
|
||||||
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start hedgedoc.service";
|
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start hedgedoc.service";
|
||||||
paths = [ "/var/lib/hedgedoc" ];
|
paths = with config.services.hedgedoc.settings; [
|
||||||
|
uploadsPath
|
||||||
|
db.storage
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@
|
||||||
let
|
let
|
||||||
cfg = config.myConfig.nextcloud;
|
cfg = config.myConfig.nextcloud;
|
||||||
|
|
||||||
|
dataDir = config.services.nextcloud.home;
|
||||||
|
|
||||||
user = config.users.users.nextcloud.name;
|
user = config.users.users.nextcloud.name;
|
||||||
inherit (config.users.users.nextcloud) group;
|
inherit (config.users.users.nextcloud) group;
|
||||||
in
|
in
|
||||||
|
|
@ -14,7 +16,7 @@ in
|
||||||
options.myConfig.nextcloud.backups.enable = lib.mkEnableOption "";
|
options.myConfig.nextcloud.backups.enable = lib.mkEnableOption "";
|
||||||
|
|
||||||
config = lib.mkIf cfg.backups.enable {
|
config = lib.mkIf cfg.backups.enable {
|
||||||
systemd.tmpfiles.rules = [ "d ${cfg.dataDir}/backup 700 ${user} ${group} -" ];
|
systemd.tmpfiles.rules = [ "d ${dataDir}/backup 700 ${user} ${group} -" ];
|
||||||
|
|
||||||
myConfig.resticBackup.nextcloud = {
|
myConfig.resticBackup.nextcloud = {
|
||||||
inherit user;
|
inherit user;
|
||||||
|
|
@ -23,13 +25,13 @@ 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=${cfg.dataDir}/backup/db.dump
|
${lib.getExe' config.services.postgresql.package "pg_dump"} nextcloud --format=custom --file=${dataDir}/backup/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 = [
|
||||||
"${cfg.dataDir}/data"
|
"${dataDir}/data"
|
||||||
"${cfg.dataDir}/config/config.php"
|
"${dataDir}/config/config.php"
|
||||||
"${cfg.dataDir}/backup"
|
"${dataDir}/backup"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -41,7 +43,7 @@ in
|
||||||
sudo --user=${user} bash -c "
|
sudo --user=${user} bash -c "
|
||||||
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on
|
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --on
|
||||||
restic-nextcloud restore latest --target /
|
restic-nextcloud restore latest --target /
|
||||||
pg_restore --clean --if-exists --dbname nextcloud ${cfg.dataDir}/backup/db.dump
|
pg_restore --clean --if-exists --dbname nextcloud ${dataDir}/backup/db.dump
|
||||||
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off
|
${lib.getExe' config.services.nextcloud.occ "nextcloud-occ"} maintenance:mode --off
|
||||||
"
|
"
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,6 @@ in
|
||||||
type = lib.types.nonEmptyStr;
|
type = lib.types.nonEmptyStr;
|
||||||
default = "";
|
default = "";
|
||||||
};
|
};
|
||||||
dataDir = lib.mkOption {
|
|
||||||
type = lib.types.path;
|
|
||||||
default = config.services.nextcloud.home;
|
|
||||||
readOnly = true;
|
|
||||||
};
|
|
||||||
port = lib.mkOption {
|
port = lib.mkOption {
|
||||||
type = lib.types.port;
|
type = lib.types.port;
|
||||||
default = 80;
|
default = 80;
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ in
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop syncthing.service";
|
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop syncthing.service";
|
||||||
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start syncthing.service";
|
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start syncthing.service";
|
||||||
paths = [ "/var/lib/syncthing" ];
|
paths = [ config.services.syncthing.dataDir ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue