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.
- Windows or *nix operating system
git
andgit-lfs
installed- Python 3.8 or later
Back up a single repo:
python3 setup.py install
umbrella https://github.com/Jamesits/umbrella.git /tmp/umbrella
Back up a batch of repos:
- Create a config file: config.yaml
umbrella --config config.yaml
- 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
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.
pipenv shell
python3 -m umbrella