From 172d73e80b8dfdedf93013d5f2f817bee2a5c138 Mon Sep 17 00:00:00 2001 From: TheWanderingCrow Date: Wed, 20 Aug 2025 15:41:37 -0400 Subject: [PATCH] enable hourly backups for flamesites --- hosts/nixos/HandlerOne/backup.nix | 4 +++ modules/services/flamesites/default.nix | 35 ++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/hosts/nixos/HandlerOne/backup.nix b/hosts/nixos/HandlerOne/backup.nix index b79b83b..7578d40 100644 --- a/hosts/nixos/HandlerOne/backup.nix +++ b/hosts/nixos/HandlerOne/backup.nix @@ -25,6 +25,10 @@ let # actualbudget "${volumePath}/actualbudget" + + # flamesites + "${volumePath}/flamesites/swgalaxyproject" + "${volumePath}/flamesites/nnsbluegrass" ]; }; in diff --git a/modules/services/flamesites/default.nix b/modules/services/flamesites/default.nix index 68f2aae..fc0e433 100644 --- a/modules/services/flamesites/default.nix +++ b/modules/services/flamesites/default.nix @@ -1,4 +1,37 @@ -{inputs, ...}: { +{ + pkgs, + inputs, + ... +}: let + volumePath = "/overseer/services"; +in { + systemd.tmpfiles.rules = [ + "d ${volumePath}/flamesites 0750 crow" + "d ${volumePath}/flamesites/swgalaxyproject 0750 crow" + "d ${volumePath}/flamesites/nnsbluegrass 0750 crow" + ]; + + systemd.timers.flamesite-backup = { + enable = true; + wantedBy = ["timers.target"]; + timerConfig = { + OnBootSec = "1hr"; + OnUnitActiveSec = "1hr"; + Unit = "flamesite-backup.service"; + }; + }; + + systemd.services.flamesite-backup = { + script = '' + ${pkgs.podman}/bin/podman exec swgal_db_1 sh -c 'exec mysqldump --no-tablespaces -usgr_user -psgr_pass sgr_db' > ${volumePath}/flamesites/swgalaxyproject/db.sql + ${pkgs.podman}/bin/podman exec nssbluegrass_db_1 sh -c 'exec mysqldump --no-tablespaces -unns_user -pnns_pass nns_db' > ${volumePath}/flamesites/nnsbluegrass/db.sql + ''; + serviceConfig = { + Type = "oneshot"; + User = "crow"; + }; + }; + services.nginx = { enable = true; recommendedProxySettings = true;