1
1
mirror of https://github.com/cooperspencer/gickup synced 2024-09-16 21:31:40 +02:00
Backup all your repositories with Ease.
Go to file
Andreas Wachter d346b1d1fb
fetch updates on a bare repo (#266)
* fetch updates on a bare repo

* move print and fetch outside of the if clause
2024-08-30 12:31:05 +02:00
.github fixed onedev (#250) 2024-08-01 15:26:26 +02:00
bitbucket fixed token and user, get repositories from workspaces too (Bitbucket) (#257) 2024-08-26 11:10:10 +02:00
gitcmd fixed some backup path issues and reload issues (#220) 2024-04-04 07:31:28 +02:00
gitea improve debug messages for gitlab (#263) 2024-08-29 06:44:53 +02:00
github added error counter for issues and stop after a 403 occurs (#256) 2024-08-20 14:13:42 +02:00
gitlab improve debug messages for gitlab (#263) 2024-08-29 06:44:53 +02:00
gogs added error counter for issues and stop after a 403 occurs (#256) 2024-08-20 14:13:42 +02:00
local fetch updates on a bare repo (#266) 2024-08-30 12:31:05 +02:00
logger added sublogger to gitea (#178) 2023-10-04 10:55:24 +02:00
metrics added gotify and ntfy to notify (#147) 2023-05-02 16:40:56 +02:00
onedev added error counter for issues and stop after a 403 occurs (#256) 2024-08-20 14:13:42 +02:00
s3 Add s3 (#259) 2024-08-26 13:46:16 +02:00
sourcehut debug msgs and check if pushedat is nil (#227) 2024-04-15 08:09:38 +02:00
types Add s3 (#259) 2024-08-26 13:46:16 +02:00
whatever configure a user to clone to. for structured cloning (#219) 2024-04-03 08:24:23 +02:00
zip Set zip to maximum compression (#252) 2024-08-09 17:39:10 +02: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
conf.example.yml Add s3 (#259) 2024-08-26 13:46:16 +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 archiver (#175) 2023-10-03 15:53:43 +02:00
Dockerfile.ubuntu added git lfs for mirrors (#204) 2024-02-19 08:42:35 +01:00
gickup.png added logo 2023-01-10 09:10:34 +01:00
go.mod Add s3 (#259) 2024-08-26 13:46:16 +02:00
go.sum Add s3 (#259) 2024-08-26 13:46:16 +02:00
justfile added just file 2022-10-17 12:08:04 +02:00
LICENSE
main_test.go chore: add linting (#101) 2022-03-20 11:25:11 +01:00
main.go Add s3 (#259) 2024-08-26 13:46:16 +02:00
Makefile chore: add linting (#101) 2022-03-20 11:25:11 +01:00
README.md added s3 to destinations 2024-08-27 14:44:46 +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