mirror-to-gitea/README.md

2.1 KiB

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