Skip to content

Jamesits/umbrella

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Umbrella

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.git /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

About

Git repo backup/versioning solution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages