diff --git a/services/akkoma.nix b/services/akkoma.nix index d511c69..a23b321 100644 --- a/services/akkoma.nix +++ b/services/akkoma.nix @@ -41,12 +41,13 @@ in { }; }; borgbackup.jobs."akkoma" = { - repo = "ssh://n65yc7ze@n65yc7ze.repo.borgbase.com/./repo"; + repo = "ssh://u506783@u506783.your-storagebox.de:23/./akkoma"; environment = { BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; }; paths = [ "/var/lib/akkoma" + "/var/backup/postgres/akkoma.sql" ]; encryption.mode = "none"; compression = "auto,lzma"; diff --git a/services/forgejo.nix b/services/forgejo.nix index 0456fea..2d7fd0b 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -17,7 +17,7 @@ in { }; }; borgbackup.jobs."forgejo" = { - repo = "ssh://v4379v0z@v4379v0z.repo.borgbase.com/./repo"; + repo = "ssh://u506783@u506783.your-storagebox.de:23/./forgejo"; environment = { BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; }; diff --git a/services/lldap.nix b/services/lldap.nix index 86b1ece..f231af8 100644 --- a/services/lldap.nix +++ b/services/lldap.nix @@ -3,15 +3,34 @@ in { age.secrets."hidden_service/lldap".file = ../secrets/hidden_service/lldap; - services.lldap = { - enable = true; - settings = { - http_url = "https://login.distrust.network"; - http_port = lldapPort; - ldap_user_email = "root@distrust.network"; - ldap_user_dn = "root"; - ldap_base_dn = "dc=distrust,dc=network"; - ldap_user_pass = "VERY_SECURE"; + services = { + lldap = { + enable = true; + settings = { + http_url = "https://login.distrust.network"; + http_port = lldapPort; + ldap_user_email = "root@distrust.network"; + ldap_user_dn = "root"; + ldap_base_dn = "dc=distrust,dc=network"; + ldap_user_pass = "VERY_SECURE"; + }; + }; + borgbackup.jobs."lldap" = { + repo = "ssh://u506783@u506783.your-storagebox.de:23/./lldap"; + environment = { + BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; + }; + paths = [ + "/var/lib/lldap" + ]; + encryption.mode = "none"; + compression = "auto,lzma"; + startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + monthly = -1; + }; }; }; diff --git a/services/mailserver.nix b/services/mailserver.nix index 1fbc383..67c868b 100644 --- a/services/mailserver.nix +++ b/services/mailserver.nix @@ -15,4 +15,22 @@ uris = ["ldap://localhost:3890"]; }; }; + + services.borgbackup.jobs."mailserver" = { + repo = "ssh://u506783@u506783.your-storagebox.de:23/./mailserver"; + environment = { + BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; + }; + paths = [ + "/var/vmail/ldap" + ]; + encryption.mode = "none"; + compression = "auto,lzma"; + startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + monthly = -1; + }; + }; } diff --git a/services/nextcloud.nix b/services/nextcloud.nix index 1cf5d32..0347723 100644 --- a/services/nextcloud.nix +++ b/services/nextcloud.nix @@ -41,6 +41,34 @@ in { "listen.owner" = "caddy"; "listen.group" = "caddy"; }; + borgbackup.jobs."nextcloud" = { + repo = "ssh://u506783@u506783.your-storagebox.de:23/./nextcloud"; + environment = { + BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; + }; + paths = [ + "/var/lib/nextcloud" + "/var/backup/postgres/nextcloud.sql" + ]; + encryption.mode = "none"; + compression = "auto,lzma"; + startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + monthly = -1; + }; + readWritePaths = [ + "/var/backup/postgres" + ]; + preHook = '' + mkdir -p /var/backup/postgres + ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/pg_dump nextcloud > /var/backup/postgres/nextcloud.sql + ''; + postHook = '' + rm -f /var/backup/postgres/nextcloud.sql + ''; + }; }; distrust.services."nextcloud" = { diff --git a/services/paste.nix b/services/paste.nix index 3d5a355..0a53462 100644 --- a/services/paste.nix +++ b/services/paste.nix @@ -3,15 +3,34 @@ in { age.secrets."hidden_service/microbin".file = ../secrets/hidden_service/microbin; - services.microbin = { - enable = true; - settings = { - MICROBIN_PORT = pastePort; - MICROBIN_ENABLE_BURN_AFTER = true; - MICROBIN_QR = true; - MICROBIN_NO_LISTING = true; - MICROBIN_HIGHLIGHTSYNTAX = true; - MICROBIN_PUBLIC_PATH = "https://paste.distrust.network/"; + services = { + microbin = { + enable = true; + settings = { + MICROBIN_PORT = pastePort; + MICROBIN_ENABLE_BURN_AFTER = true; + MICROBIN_QR = true; + MICROBIN_NO_LISTING = true; + MICROBIN_HIGHLIGHTSYNTAX = true; + MICROBIN_PUBLIC_PATH = "https://paste.distrust.network/"; + }; + }; + borgbackup.jobs."microbin" = { + repo = "ssh://u506783@u506783.your-storagebox.de:23/./microbin"; + environment = { + BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; + }; + paths = [ + "/var/lib/microbin" + ]; + encryption.mode = "none"; + compression = "auto,lzma"; + startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + monthly = -1; + }; }; }; diff --git a/services/prosody.nix b/services/prosody.nix index c2cc773..d9abcdc 100644 --- a/services/prosody.nix +++ b/services/prosody.nix @@ -46,6 +46,23 @@ file_server } ''; + borgbackup.jobs."prosody" = { + repo = "ssh://u506783@u506783.your-storagebox.de:23/./prosody"; + environment = { + BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; + }; + paths = [ + "/var/lib/prosody" + ]; + encryption.mode = "none"; + compression = "auto,lzma"; + startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + monthly = -1; + }; + }; }; security.acme = { diff --git a/services/vaultwarden.nix b/services/vaultwarden.nix index 1a7a768..6033d8c 100644 --- a/services/vaultwarden.nix +++ b/services/vaultwarden.nix @@ -6,13 +6,32 @@ in { "hidden_service/vaultwarden".file = ../secrets/hidden_service/vaultwarden; }; - services.vaultwarden = { - enable = true; - config = { - DOMAIN = "https://vault.distrust.network"; - ROCKET_PORT = vaultPort; + services = { + vaultwarden = { + enable = true; + config = { + DOMAIN = "https://vault.distrust.network"; + ROCKET_PORT = vaultPort; + }; + environmentFile = config.age.secrets."vaultwarden.env".path; + }; + borgbackup.jobs."vaultwarden" = { + repo = "ssh://u506783@u506783.your-storagebox.de:23/./vaultwarden"; + environment = { + BORG_RSH = "ssh -i ${config.age.secrets."borg_ed25519".path} -o 'StrictHostKeyChecking=no'"; + }; + paths = [ + "/var/lib/vaultwarden" + ]; + encryption.mode = "none"; + compression = "auto,lzma"; + startAt = "daily"; + prune.keep = { + daily = 7; + weekly = 4; + monthly = -1; + }; }; - environmentFile = config.age.secrets."vaultwarden.env".path; }; distrust.services."vaultwarden" = {