Two destinations
Send repositories to a Gitea instance or store them as bare Git mirrors in a local directory.
Your repositories, your backup
GitHub Backup mirrors repositories from a GitHub user or organization to Gitea or a local directory. Set it up once, run it on demand, or schedule regular backups.
Choose which repositories to include, where they should go, and how often the backup runs.
Send repositories to a Gitea instance or store them as bare Git mirrors in a local directory.
Back up users or organizations. Use allow and deny patterns to choose repositories by owner, name, visibility, fork, and archive status.
Run once from the command line or add a cron expression in the configuration for repeated backups.
The configuration editor below generates a JSON file for the command line tool.
Install with Go, or build from the source repository.
go install github.com/tbxark/github-backup@latestUse the editor to set a GitHub owner and token, choose a backup provider, then download config.json. You can also import an existing JSON file to edit it.
Place the file where the command can read it. Without a cron expression, the tool runs once and exits.
github-backup -config config.jsonConfigure sources, destinations, and filters. The preview updates as you edit.
Leave the cron expression empty to run once and exit.
Targets inherit fields left blank from these defaults.
Assign clone tokens by repository pattern. A non-empty target mapping replaces the whole default mapping.
Each target is a GitHub user or organization.
Inherits the default mapping when empty.
No targets yet. Select “Add target” to begin.