Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/soerenschneider/git-repo-backup
Automated and reliable backups of your GitHub and GitLab repositories
https://github.com/soerenschneider/git-repo-backup
api-rest backup git git-backup github gitlab long-term-storage repository
Last synced: 3 months ago
JSON representation
Automated and reliable backups of your GitHub and GitLab repositories
- Host: GitHub
- URL: https://github.com/soerenschneider/git-repo-backup
- Owner: soerenschneider
- License: gpl-3.0
- Created: 2021-09-05T07:54:53.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-15T07:06:53.000Z (9 months ago)
- Last Synced: 2024-10-04T22:09:45.452Z (4 months ago)
- Topics: api-rest, backup, git, git-backup, github, gitlab, long-term-storage, repository
- Language: Python
- Homepage:
- Size: 1.23 MB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# git-repo-backup
![test-workflow](https://github.com/soerenschneider/git-repo-backup/actions/workflows/test.yaml/badge.svg)
![release-workflow](https://github.com/soerenschneider/git-repo-backup/actions/workflows/release-container.yaml/badge.svg)Automated and reliable backups of your GitHub and GitLab repositories
## Features
📦 Backups remote Git repositories hosted on GitLab or GitHub
⛵️ Automatically discovers all repositories for a given username
🕵️ Works with public and private repositories
🚦 Support for explicit deny- and allow-lists
🔒 Can read Personal Access Tokens from Hashicorp Vault
🔭 Observability provided by metrics## Roadmap
🚀 Upload changes to a S3 compatible service
🍵 Add GitTea service support
🪆 Add _dummy service_ that allows a plain list of loose Git repositories## Why would I need this?
GitHub and GitLab don't run on altruism. Your account or individual repositories may be gone overnight without notice.
## Installation
### Docker / Podman
````shell
$ git clone https://github.com/soerenschneider/git-repo-backup.git
$ cd git-repo-backup
$ docker run -v $(pwd)/contrib:/config ghcr.io/soerenschneider/git-repo-backup --config /config/example-config.json --dest /tmp
````### From Source
As a prerequisite, you need to have Python3 installed.
```shell
$ git clone https://github.com/soerenschneider/git-repo-backup.git
$ cd git-repo-backup
$ make venv
$ ./venv/bin/python3 git_repo_backup --config contrib/example-config.json --dest /tmp
```# Demo
![demo.gif](demo.gif)# Usage and Configuration
Head over [here](docs/configuration.md) to see config and usage examples.# Metrics
The exposed metrics are listed [here](docs/metrics.md).## Changelog
See the [full changelog](CHANGELOG.md)