nixfiles/hosts/hetzner-arm/containers/storage/profiles/rcloneSync.nix
2024-04-28 11:54:10 +01:00

89 lines
2.2 KiB
Nix

{self, ...}: let
backupSchedules = import "${self}/data/backupSchedules.nix";
in {
services.rclone-sync = {
enable = true;
user = "storage";
syncJobs = map (syncJob:
syncJob
// {
serviceConfig = {
after = ["auto-secrets.service"];
wants = ["auto-secrets.service"];
};
timerConfig = backupSchedules.remoteBackups;
extraArgs = [
"--fast-list"
"--check-first"
"--delete-before"
"--b2-upload-concurrency=4"
"--transfers=4"
"--bwlimit 80M"
];
}) [
# My B2
{
source = "StorageBox:Backups";
dest = "B2-Chaos-Backups:";
id = "chaos_b2_backups";
}
{
source = "StorageBox:Photos";
dest = "B2-Chaos-Photos:";
id = "chaos_b2_photos";
}
{
source = "StorageBox:Music";
dest = "B2-Chaos-Music:";
id = "chaos_b2_music";
}
{
source = "StorageBox:Personal";
dest = "B2-Chaos-Personal:";
id = "chaos_b2_personal";
}
{
source = "StorageBox:Public";
dest = "B2-Chaos-Public:";
id = "chaos_b2_public";
}
{
source = "StorageBox:Notes";
dest = "B2-Chaos-Notes:";
id = "chaos_notes_public";
}
# Pheonix System's B2
{
source = "StorageBox:Backups";
dest = "B2-Phoenix-Cryptidz-Storage:Backups";
id = "phoenix_b2_backups";
}
{
source = "StorageBox:Photos";
dest = "B2-Phoenix-Cryptidz-Storage:Photos";
id = "phoenix_b2_photos";
}
{
source = "StorageBox:Music";
dest = "B2-Phoenix-Cryptidz-Storage:Music";
id = "phoenix_b2_music";
}
{
source = "StorageBox:Personal";
dest = "B2-Phoenix-Cryptidz-Storage:Personal";
id = "phoenix_b2_personal";
}
{
source = "StorageBox:Public";
dest = "B2-Phoenix-Cryptidz-Storage:Public";
id = "phoenix_b2_public";
}
{
source = "StorageBox:Notes";
dest = "B2-Phoenix-Cryptidz-Storage:Notes";
id = "phoenix_b2_notes";
}
];
};
}