1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/systems/zaatar/backup.nix

31 lines
872 B
Nix
Raw Normal View History

2022-01-18 21:29:30 +01:00
{ lib, ... }:
let
niveumLib = import <niveum/lib>;
inherit (niveumLib) retiolumAddresses restic;
2022-01-18 21:29:30 +01:00
firewall = niveumLib.firewall lib;
in
{
services.restic.server = {
enable = true;
appendOnly = true;
dataDir = "/backup/restic";
prometheus = true;
extraFlags = [ "--no-auth" ]; # auth is done via firewall
listenAddress = ":${toString restic.port}";
2022-01-18 21:29:30 +01:00
};
networking.firewall =
let
dport = restic.port;
2022-01-18 21:29:30 +01:00
protocol = "tcp";
rules = [
(firewall.accept { inherit dport protocol; source = retiolumAddresses.kabsa.ipv4; })
(firewall.accept { inherit dport protocol; source = retiolumAddresses.manakish.ipv4; })
(firewall.accept { inherit dport protocol; source = retiolumAddresses.makanek.ipv4; })
];
in {
extraCommands = firewall.addRules rules;
extraStopCommands = firewall.removeRules rules;
};
}