You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Dennis Jekubczyk b1be8a3990 fix ci 3 years ago
.github/workflows fix ci 3 years ago
src send max 4 requests to Gitea concurrently 4 years ago
third_party/golangci-lint add linter 3 years ago
.dockerignore initial commit 5 years ago
.gitignore initial commit 5 years ago
.tool-versions bootstrap go 3 years ago
Dockerfile initial commit 5 years ago
LICENSE initial commit 5 years ago
README.md optionally use GitHub access token 4 years ago
Taskfile.yml add linter 3 years ago
docker-entrypoint.sh initial commit 5 years ago
go.mod bootstrap go 3 years ago
main.go bootstrap go 3 years ago
package-lock.json fix: upgrade octokit to fix 'TypeError: Octokit is not a constructor' 4 years ago
package.json fix: upgrade octokit to fix 'TypeError: Octokit is not a constructor' 4 years ago
run-local.sh initial commit 5 years ago

README.md

Mirror your github repositories to your gitea server

Badges

image pulls microbadger analysis

Description

This script mirrors automatically the public repositories from a github-user or github-organization to your gitea server. It will - once started - create a mirrored repository under a given token for a gitea user fully automatically.

Example: A github user github-user has public repositories dotfiles and zsh-config. Starting the script with a gitea token for the account gitea-user will create the following mirror repositories:

  • github.com/github-user/dotfiles ← some-gitea.url/gitea-user/dotfiles
  • github.com/github-user/zsh-config ← some-gitea.url/zsh-config/dotfiles

The mirror settings are default by your gitea instance.

Prerequisites

  • Something to mirror (a github user or organization with public repos)
  • Gitea instance up and running
  • User for Gitea with generated token
  • Docker

Run it

docker container run \
 -d \
 --restart always \
 -e GITHUB_USERNAME=github-user \
 -e GITEA_URL=https://some-gitea.url \
 -e GITEA_TOKEN=please-exchange-with-token \
 jaedle/mirror-to-gitea:latest

This will a spin up a docker container running infinite which will try to mirror all your repositories once every hour to your gitea server.

Parameters

  • GITHUB_USERNAME name of user or organization which public repos should be mirrored
  • GITHUB_TOKEN GitHub personal access token (optional)
  • GITEA_URL url of your gitea server
  • GITEA_TOKEN token for your gitea user

Things to do

  • refactoring
  • think about how to test
  • configurable interval
  • better logging
  • use github token to solve problems with rate limits
  • add gitlab support
  • and so on..