hosts/ao: refactor backups
This commit is contained in:
parent
aaba064089
commit
8fe1fbb6e7
|
@ -9,6 +9,7 @@ with lib.my;
|
|||
../home.nix
|
||||
./hardware-configuration.nix
|
||||
|
||||
./modules/backup.nix
|
||||
./modules/gitea.nix
|
||||
./modules/bitwarden.nix
|
||||
];
|
||||
|
|
50
hosts/ao/modules/backup.nix
Normal file
50
hosts/ao/modules/backup.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.bitwarden_rs.backupDir = "/backups/bitwarden_rs";
|
||||
services.gitea.dump.enable = true;
|
||||
services.gitea.dump.backupDir = "/backups/gitea";
|
||||
system.activationScripts.createBackupDir = ''
|
||||
mkdir -m 750 -p "${config.services.bitwarden_rs.backupDir}" || true
|
||||
mkdir -m 750 -p "${config.services.gitea.dump.backupDir}" || true
|
||||
chown bitwarden_rs:bitwarden_rs "${config.services.bitwarden_rs.backupDir}"
|
||||
chown git:gitea "${config.services.gitea.dump.backupDir}"
|
||||
'';
|
||||
|
||||
# systemd = {
|
||||
# services.backups = {
|
||||
# description = "Backup /backups to NAS";
|
||||
# wants = [ "usr-drive.mount" ];
|
||||
# path = [ pkgs.rsync ];
|
||||
# environment = {
|
||||
# SRC_DIR = "/backups";
|
||||
# DEST_DIR = "/usr/drive";
|
||||
# };
|
||||
# script = ''
|
||||
# if [[ -d "$1" && -d "$2" ]]; then
|
||||
# echo "---- BACKUPING UP $1 TO $2 ----"
|
||||
# rsync -rlptPJ --delete --delete-after \
|
||||
# --chmod=go= \
|
||||
# --chown=hlissner:users \
|
||||
# --exclude=lost+found/ \
|
||||
# --exclude=@eaDir/ \
|
||||
# --include=.git/ \
|
||||
# --filter=':- .gitignore' \
|
||||
# --filter=':- $XDG_CONFIG_HOME/git/ignore' \
|
||||
# "$SRC_DIR/" "$DEST_DIR"
|
||||
# fi
|
||||
# '';
|
||||
# serviceConfig = {
|
||||
# Type = "oneshot";
|
||||
# Nice = 19;
|
||||
# IOSchedulingClass = "idle";
|
||||
# };
|
||||
# };
|
||||
# timers.backups = {
|
||||
# wantedBy = [ "timers.target" ];
|
||||
# partOf = [ "backups.service" ];
|
||||
# timerConfig.OnCalendar = "*-*-* 03:00:00";
|
||||
# timerConfig.Persistent = true;
|
||||
# };
|
||||
# };
|
||||
}
|
|
@ -9,10 +9,7 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.bitwarden_rs = {
|
||||
enable = true;
|
||||
backupDir = "/run/backups/bitwarden_rs";
|
||||
};
|
||||
services.bitwarden_rs.enable = true;
|
||||
|
||||
user.extraGroups = [ "bitwarden_rs" ];
|
||||
|
||||
|
@ -22,13 +19,5 @@ in {
|
|||
port = 80,443,8002
|
||||
maxretry = 5
|
||||
'';
|
||||
|
||||
# HACK services.bitwarden_rs errors about permissions trying to create
|
||||
# backupDir in /run/backups, so we do it for it.
|
||||
system.activationScripts.bitwardenCreateDirs = ''
|
||||
DIR="${config.services.bitwarden_rs.backupDir}"
|
||||
mkdir -m 750 -p "$DIR" || true
|
||||
chown bitwarden_rs:bitwarden_rs "$DIR"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -45,11 +45,7 @@ in {
|
|||
service.ENABLE_BASIC_AUTHENTICATION = false;
|
||||
};
|
||||
|
||||
dump = {
|
||||
enable = true;
|
||||
interval = "daily";
|
||||
backupDir = "/run/backups/gitea";
|
||||
};
|
||||
dump.interval = "daily";
|
||||
};
|
||||
|
||||
services.fail2ban.jails.gitea = ''
|
||||
|
|
Loading…
Reference in a new issue