Go to file
Dennis Jekubczyk 428417c198
Merge pull request #12 from agustinmista/master
Add CI workflow to build and push Docker image
2023-02-14 07:12:15 +01:00
.devcontainer Add devcontainer file 2023-02-13 21:35:10 +00:00
.github/workflows Add CI action to build and deploy Docker image 2023-02-13 21:35:55 +00:00
src send max 4 requests to Gitea concurrently 2020-10-26 14:35:08 +01:00
.dockerignore initial commit 2019-03-09 13:47:07 +01:00
.gitignore initial commit 2019-03-09 13:47:07 +01:00
Dockerfile initial commit 2019-03-09 13:47:07 +01:00
LICENSE initial commit 2019-03-09 13:47:07 +01:00
README.md optionally use GitHub access token 2020-10-26 14:35:08 +01:00
docker-entrypoint.sh initial commit 2019-03-09 13:47:07 +01:00
package-lock.json Ran `npm update` to regenerate package-lock.json 2023-02-13 21:48:51 +00:00
package.json fix: upgrade octokit to fix 'TypeError: Octokit is not a constructor' 2021-01-11 23:11:31 +01:00
run-local.sh initial commit 2019-03-09 13:47:07 +01:00

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..