Backup Config
This commit is contained in:
50
machines/hippocampus/backup.nix
Normal file
50
machines/hippocampus/backup.nix
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{ config, lib, pkgs, ...}: let
|
||||||
|
secretPerm = {
|
||||||
|
owner = "root";
|
||||||
|
mode = "0400";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./backups/postgresql.nix
|
||||||
|
./backups/gitea.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
sops.secrets."restic/repo" = secretPerm;
|
||||||
|
|
||||||
|
sops.secrets."restic/passwd" = secretPerm;
|
||||||
|
|
||||||
|
sops.secrets."restic/backblaze" = secretPerm;
|
||||||
|
|
||||||
|
services.restic.backups.hippocampus = {
|
||||||
|
user = "root";
|
||||||
|
initialize = true;
|
||||||
|
timerConfig = {
|
||||||
|
OnCalendar = "03:00";
|
||||||
|
Persistent = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordFile = config.sops.secrets."restic/passwd".path;
|
||||||
|
|
||||||
|
paths = [
|
||||||
|
"/etc/group"
|
||||||
|
"/etc/machine-id"
|
||||||
|
"/etc/passwd"
|
||||||
|
"/etc/subgid"
|
||||||
|
"/home"
|
||||||
|
"/root"
|
||||||
|
"/var/backup"
|
||||||
|
"/var/lib"
|
||||||
|
"/jelly/conf"
|
||||||
|
];
|
||||||
|
|
||||||
|
# USE REPOSITORYFILE
|
||||||
|
repositoryFile = config.sops.secrets."restic/repo".path;
|
||||||
|
environmentFile = config.sops.secrets."restic/backblaze".path;
|
||||||
|
|
||||||
|
pruneOpts = [
|
||||||
|
"--keep-daily 2"
|
||||||
|
"--keep-weekly 4"
|
||||||
|
"--keep-yearly 8"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
6
machines/hippocampus/backups/gitea.nix
Normal file
6
machines/hippocampus/backups/gitea.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }: {
|
||||||
|
services.gitea.dump = {
|
||||||
|
enable = true;
|
||||||
|
interval = "2:45";
|
||||||
|
};
|
||||||
|
}
|
||||||
7
machines/hippocampus/backups/postgresql.nix
Normal file
7
machines/hippocampus/backups/postgresql.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, lib, pkgs, ... }: {
|
||||||
|
services.postgresqlBackup = {
|
||||||
|
enable = true;
|
||||||
|
startAt = "*-*-* 02:45:00";
|
||||||
|
location = "/var/backup/postgresql";
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user