diff options
| -rw-r--r-- | hosts/sagittarius/headscale.nix | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/hosts/sagittarius/headscale.nix b/hosts/sagittarius/headscale.nix index 3887de3..9a09590 100644 --- a/hosts/sagittarius/headscale.nix +++ b/hosts/sagittarius/headscale.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ pkgs, config, ... }: let domain = "headscale.sorre.xyz"; port = 5892; @@ -59,4 +59,20 @@ in trustedInterfaces = [ "tailscale0" ]; allowedUDPPorts = [ config.services.tailscale.port ]; }; + + systemd.services.backup-headscale = { + serviceConfig.Type = "oneshot"; + conflicts = [ "headscale.service" ]; + path = [ + pkgs.gnutar + pkgs.systemdMinimal + ]; + enableStrictShellChecks = true; + script = '' + [ ! -d /var/lib/backup/headscale ] && mkdir -p /var/lib/backup/headscale + TIMESTAMP="$(date +%Y%m%d%H%M%S)" + tar cvf "/var/lib/backup/headscale/$TIMESTAMP.backup.tar" /var/lib/headscale + ''; + postStop = "systemctl start headscale.service"; + }; } |
