diff options
| author | Isabella Bastaja <isabella@sorre.xyz> | 2026-08-18 11:02:24 +0200 |
|---|---|---|
| committer | Isabella Bastaja <isabella@sorre.xyz> | 2026-08-18 11:10:16 +0200 |
| commit | da22d6cee806f90909356f34ce2b4ae4d3ce7e6b (patch) | |
| tree | b38764ed0dd00a2ef5cd2e66eac7b334cf6158cb /hosts/sagittarius | |
| parent | c3e013ba4e76aebae84aeb0390fcf40c34518be3 (diff) | |
sagittarius: create backup-headscale service
Diffstat (limited to 'hosts/sagittarius')
| -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"; + }; } |
