Skip to content

cooperspencer/gickup

Repository files navigation

logo
GICKUP

Backup your Git repositories with ease.

WebsiteGitHubDocs

Build and Publish

What is GICKUP?

Gickup is a tool that allows you to clone/mirror repositories from one hoster to another. This is useful if you want to have a backup of your repositories on another hoster or to a local server.

Supported Source and Destionations

You can clone/mirror repositories from:

  • Github
  • Gitlab
  • Gitea
  • Gogs
  • Bitbucket
  • OneDev
  • Sourcehut
  • Any

You can clone/mirror repositories to:

  • Github
  • Gitlab
  • Gitea
  • Gogs
  • OneDev
  • Sourcehut
  • Local
  • S3

If your hoster is not listed, feel free to open an issue and I will add it.

How to make a configuration file

Here is an example

How to run the binary version

./gickup path-to-conf.yml

How to run the Docker image

mkdir gickup
wget https://raw.githubusercontent.com/cooperspencer/gickup/main/docker-compose.yml
nano conf.yml # Make your config here
docker-compose up

Compile the binary version

go build .

Compile the Docker Image

git clone https://github.com/cooperspencer/gickup.git
cd gickup
nano docker-compose.yml # Uncomment the Build
nano conf.yml # Make your config here
docker-compose build
docker-compose up

Questions?

If anything is unclear or you have a great idea for the project, feel free to open a discussion about it. https://github.com/cooperspencer/gickup/discussions

Distribution Packages

Distribution Package Maintainer
Arch gickup me
Homebrew gickup
Fedora gickup FrostyX

Issues

The mirroring to Gitlab doesn't work, or at least I can't test it properly because I have no access to a Gitlab EE instance.

Future Ideas

  • Additional VCS
  • Add minio as a destination