Pages

Thursday, 24 March 2022

Umbrella


Git repo backup/versioning solution.

An umbrella protects you when the cloud falls into raindrops.

Umbrella creates local backups for all the Git repos you cares about. An ex-employee deletes all the branches? Service providers go down? Repositories being taken down by DMCA? Umbrella gets you covered.

Requirements

  • Windows or *nix operating system
  • git and git-lfs installed
  • Python 3.8 or later

Usage

Back up a single repo:

python3 setup.py install
umbrella https://github.com/Jamesits/umbrella /tmp/umbrella

Back up a batch of repos:

  1. Create a config file: config.yaml
  2. umbrella --config config.yaml

Known Issues

  • Integrated auth doesn't work for git (but works for providers), please log in yourself on the backup computer
  • Restore is not done yet; you might need to manually restore for now (git clone path/to/your/backup/git)
  • Git will pause to ask for username/password or SSH host key trust

Incremental Backups

Umbrella does not offer any form of incremental backup because I don't want to rebuild square wheels. You can use the functionalities provided by your filesystem (e.g. ZFS or Btrfs) or 3rd party backup solutions (e.g. Borg or Duplicati) to do this.

Development Notes

pipenv shell
python3 -m umbrella
from https://github.com/Jamesits/umbrella

No comments:

Post a Comment