Skip to content

Feature request: Include remote Borg repos #159

@mnllrnz

Description

@mnllrnz

Summary

Borgitory’s cloud synchronization feature is a convenient way to mirror local Borg repositories to cloud storage via Rclone.
However, this approach introduces a serious risk: if the local repository becomes encrypted by ransomware or otherwise corrupted, those damaged files are synced to the cloud, overwriting the healthy backup copy.

To ensure true ransomware resilience, Borgitory should support direct remote Borg repositories instead of syncing local ones.


Problem

Currently, Borgitory users must choose between:

  • Local repositories — fast and simple, but vulnerable if the server is encrypted.
  • Synced repositories — mirrored to cloud storage, but risk propagating corruption or ransomware encryption.

Because Borgitory’s cloud sync copies the repository files themselves, ransomware can encrypt the local repo and cause those encrypted files to overwrite the clean cloud version during the next sync.

This defeats the purpose of having an off-site backup.

Borg’s own documentation discourages syncing or mirroring repositories for this reason:

“If you want redundant repositories, create them separately with borg init.”
— BorgBackup FAQ


Proposed Enhancement

  • Add support for direct remote repositories (ssh://) so Borgitory can back up directly to the cloud instead of syncing a local repo.
  • Optionally support append-only mode for immutable backups.
  • Add a warning or note in the UI/docs explaining that the current Cloud Sync mirrors files and can propagate ransomware encryption.

Benefits

  • Prevents ransomware or local corruption from affecting off-site backups.
  • Aligns with Borg’s recommended practice of using independent repositories.
  • Reduces dependency on Rclone mirroring and improves reliability.
  • Strengthens Borgitory’s role as a safe, automated backup orchestrator.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions