1
1
mirror of https://github.com/cooperspencer/gickup synced 2025-07-27 21:54:19 +02:00
Backup all your repositories with Ease.
Go to file
2025-07-24 13:05:12 +02:00
.github switch from gopkg.in/yaml.v3 to github.com/goccy/go-yaml (#330) 2025-06-06 12:57:52 +02:00
bitbucket remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
gitcmd feat(local): Add mirror mode (#308) 2025-04-05 20:30:31 +02:00
gitea remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
github remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
gitlab remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
gogs remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
local Revert "upgraded go-git to v6 (#340)" 2025-07-24 06:55:34 +02:00
logger added exit code when an error occured (#289) 2025-01-05 08:52:11 +01:00
metrics add Apprise (#309) 2025-04-02 11:29:40 +02:00
onedev remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
s3 add support for specifying storageclass for S3 dest (#307) 2025-04-01 08:13:42 +02:00
sourcehut remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
types remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
whatever remove defaultbranch, as it is not used anywhere 2025-07-24 08:00:21 +02:00
zip add zip support for s3 destination (#304) 2025-03-25 19:16:01 +01:00
.gitignore implemented exclude forks (#155) 2023-06-04 08:30:02 +02:00
.golangci.yml exclude tagalign 2023-10-04 12:16:54 +02:00
.goreleaser.yml Adds archive format override for Windows to use ZIP 2021-12-13 00:01:26 -05:00
conf.example.yml add backup creation date directory in s3 (#320) 2025-04-29 18:40:04 +02:00
docker-compose.yml Documentation: add information about cron / timezone and saving to Docker volume locally (#88) 2022-02-07 08:18:36 +01:00
Dockerfile updated dependencies and go version (#290) 2025-01-05 20:50:04 +01:00
Dockerfile.ubuntu updated dependencies and go version (#290) 2025-01-05 20:50:04 +01:00
gickup_spec.json add backup creation date directory in s3 (#320) 2025-04-29 18:40:04 +02:00
gickup.png added logo 2023-01-10 09:10:34 +01:00
go.mod Revert "upgraded go-git to v6 (#340)" 2025-07-24 06:55:34 +02:00
go.sum Revert "upgraded go-git to v6 (#340)" 2025-07-24 06:55:34 +02:00
justfile updated dependencies (#298) 2025-03-13 17:45:51 +01:00
LICENSE init 2021-05-30 23:04:17 +02:00
main_test.go chore: add linting (#101) 2022-03-20 11:25:11 +01:00
main.go Revert "upgraded go-git to v6 (#340)" 2025-07-24 06:55:34 +02:00
Makefile chore: add linting (#101) 2022-03-20 11:25:11 +01:00
README.md fix docs link (#281) 2024-10-24 18:11:07 +02:00

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