mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 23:11:34 +01:00
Auto backup actualbudget to backblaze using restic
This commit is contained in:
parent
dd01651115
commit
c7fb2a80f0
3 changed files with 36 additions and 2 deletions
28
hosts/stratus/containers/docker/actualbudget/backup.nix
Normal file
28
hosts/stratus/containers/docker/actualbudget/backup.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ pkgs, lib, ... }:
|
||||
let
|
||||
serviceName = lib.last (lib.splitString "/" (builtins.toString ./.)); # Parent directory name
|
||||
in
|
||||
{
|
||||
myConfig.resticBackup.${serviceName} = {
|
||||
enable = true;
|
||||
healthchecks.enable = true;
|
||||
|
||||
extraConfig = {
|
||||
backupPrepareCommand = "${lib.getExe' pkgs.systemd "systemctl"} stop docker-actualbudget.service";
|
||||
backupCleanupCommand = "${lib.getExe' pkgs.systemd "systemctl"} start docker-actualbudget.service docker-tailscale-actualbudget.service";
|
||||
paths = [ "/data/${serviceName}" ];
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "${serviceName}-restore";
|
||||
text = ''
|
||||
systemctl stop docker-actualbudget.service
|
||||
rm -rf /data/${serviceName}
|
||||
restic-${serviceName} restore --target / latest
|
||||
systemctl start docker-actualbudget.service docker-tailscale-actualbudget.service
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
@ -15,6 +15,8 @@ let
|
|||
configPath = pkgs.writeTextDir "tailscale-serve.json" serveConfig;
|
||||
in
|
||||
{
|
||||
imports = [ ./backup.nix ];
|
||||
|
||||
virtualisation.oci-containers.containers = {
|
||||
${serviceName} = {
|
||||
image = "ghcr.io/actualbudget/actual-server:latest";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue