treewide: snapshot important datasets with sanoid
This commit is contained in:
parent
715b3f799a
commit
345bf13b0d
|
@ -10,6 +10,7 @@
|
|||
./nginx.nix
|
||||
./nix.nix
|
||||
./openssh.nix
|
||||
./sanoid.nix
|
||||
./security.nix
|
||||
./steam.nix
|
||||
];
|
||||
|
|
35
common/sanoid.nix
Normal file
35
common/sanoid.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
services.sanoid = {
|
||||
enable = true;
|
||||
extraArgs = [ "--verbose" ];
|
||||
|
||||
# Local snapshots for important datasets
|
||||
templates."production" = {
|
||||
yearly = 0;
|
||||
monthly = 3;
|
||||
daily = 30;
|
||||
hourly = 36;
|
||||
autosnap = true;
|
||||
autoprune = true;
|
||||
};
|
||||
|
||||
# Reduced-retention version for datasets that are backed up to the NAS
|
||||
templates."safe" = {
|
||||
yearly = 0;
|
||||
monthly = 0;
|
||||
daily = 7;
|
||||
hourly = 24;
|
||||
autosnap = true;
|
||||
autoprune = true;
|
||||
};
|
||||
|
||||
# datasets."rpool_sggau1/reese/system" = {
|
||||
# useTemplate = [ "safe" ];
|
||||
# recursive = "zfs";
|
||||
# };
|
||||
};
|
||||
};
|
||||
}
|
8
hosts/kilgharrah/backup.nix
Normal file
8
hosts/kilgharrah/backup.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.sanoid.datasets."rpool_albion/state" = {
|
||||
useTemplate = [ "production" ];
|
||||
recursive = "zfs";
|
||||
};
|
||||
}
|
|
@ -5,6 +5,7 @@ let
|
|||
in
|
||||
{
|
||||
imports = [
|
||||
./backup.nix
|
||||
./filesystems.nix
|
||||
./hardware.nix
|
||||
./networking.nix
|
||||
|
|
|
@ -19,6 +19,11 @@
|
|||
"rpool_orm/state/actual" = { mountpoint = "/var/lib/actual"; };
|
||||
};
|
||||
|
||||
services.sanoid.datasets."rpool_orm/state" = {
|
||||
useTemplate = [ "production" ];
|
||||
recursive = "zfs";
|
||||
};
|
||||
|
||||
qenya.services.actual = {
|
||||
enable = true;
|
||||
domain = "actual.qenya.tel";
|
||||
|
|
|
@ -22,6 +22,11 @@
|
|||
"rpool/state/forgejo" = { mountpoint = "/var/lib/forgejo"; };
|
||||
};
|
||||
|
||||
services.sanoid.datasets."rpool/state" = {
|
||||
useTemplate = [ "production" ];
|
||||
recursive = "zfs";
|
||||
};
|
||||
|
||||
qenya.services.forgejo = {
|
||||
enable = true;
|
||||
domain = "git.qenya.tel";
|
||||
|
|
Loading…
Reference in a new issue