aboutsummaryrefslogtreecommitdiff
path: root/machines/ettves/backup.nix
blob: 03c381d2750cae7881ae8be75b1c4576652af910 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{ config, ... }:
 
{
  services.kopia = {
    enable = true;
    instances = {
      b2 = {
        enable = true;
        environmentFile = config.secrets.b2.dest;
        repository.b2.bucket = "ettves-vapor-systems";

        snapshots = {
          schedule = "daily";
          paths = [
            # Game Servers
            "/var/lib/private/factorio"
            "/var/lib/satisfactory"
            "/var/lib/minecraft"
            "/var/lib/minecraft_mods"
            "/var/lib/acc-server/cfg"

            # Others
            "/var/lib/git"
            "/var/lib/teamspeak6-server"
          ];
        };

        policy = [{
          retention = {
            keepLatest = 5;
            keepDaily = 30;
            keepWeekly = 4;
            keepMonthly = 3;
            keepAnnual = 0;
          };
        }];
      };
    };
  };

  secrets = {
    b2 = {
      source = ../../secrets/backup/ettves.vapor.systems.env;
      dest = "/etc/secrets/b2.env";
    };
  };
}