diff --git a/modules/features/forgejo.nix b/modules/features/forgejo.nix index df0f468..3641e40 100644 --- a/modules/features/forgejo.nix +++ b/modules/features/forgejo.nix @@ -78,10 +78,11 @@ oauth2.JWT_SECRET = lib.mkForce config.sops.secrets."forgejo/jwt_secret".path; server.LFS_JWT_SECRET = lib.mkForce config.sops.secrets."forgejo/lfs_jwt_secret".path; }; - # dump = { - # enable = true; - # interval = "12h"; - # }; + dump = { + enable = true; + type = "tar"; + interval = "*-*-* 00/12:00:00"; + }; }; postgresql = { @@ -90,6 +91,14 @@ }; }; + # https://forgejo.org/docs/latest/admin/command-line/#dump + systemd.services.forgejo-dump.serviceConfig.ExecStart = lib.mkForce '' + ${lib.getExe config.services.forgejo.package} dump --verbose \ + --type ${config.services.forgejo.dump.type} \ + --database postgres \ + --work-path ${config.services.forgejo.dump.backupDir} + ''; + environment.systemPackages = let systemctl = lib.getExe' pkgs.systemd "systemctl";