Product

Repository backup that works
the moment you push

GitReposBackup gives you real-time, self-hosted Git mirroring across GitHub, GitLab, and Bitbucket — without scripts, cron jobs, or manual maintenance.

Built for source code continuity

GitReposBackup is designed for developers and teams who need reliable, automated backup across Git providers — with zero ongoing maintenance. Once you configure a binding between a source and destination repository, the system handles everything: registering webhooks, verifying payloads, queuing mirror jobs, and retrying on failure.

Under the hood, every sync uses git push --mirror — the native Git operation for full-fidelity replication. Branches, tags, commit history, and all refs are preserved exactly as they exist on the source. No partial syncs, no missing history, no diverged refs.

Core Concept

Bindings: the building blocks of your backup

A binding is a persistent, monitored link between a source repository and a destination repository. Each binding is independent, versioned, and fully controllable.

Step 1

Source & Destination

Pick any two connected accounts as your source and destination. The source is where pushes come from; the destination receives the mirror. Both can be from different providers or the same one.

Step 2

Repo Scope

Mirror all repositories in an account, hand-pick specific ones, or define an exclusion list to skip repos you don't need backed up. The scope is configured per binding and can be updated at any time.

Any direction

Cross-provider & Same-provider

Bindings work in any combination: GitHub→GitLab, GitHub→GitHub, GitLab→Bitbucket, Bitbucket→GitHub. You can even mirror between two different accounts of the same provider type.

On demand

Manual Sync

Trigger a full mirror sync with a single click from the dashboard — no waiting for a webhook. Useful immediately after setting up a new binding, or before a critical release to confirm your backup is current.

Architecture

Webhook-driven, not scheduled

GitReposBackup syncs start seconds after you push — not on an hourly timer. Here's what happens from push to backup complete.

1
Push
You push a commit, tag, or branch to your source repository as normal.
2
Webhook Fires
The provider sends a webhook event to GitReposBackup within milliseconds.
3
Signature Verified
The webhook payload signature is verified using your shared secret before any work begins.
4
Mirror Starts
A BullMQ job is queued. The worker clones source refs and pushes them to the destination.
5
Backup Complete
The destination is fully up to date. Status and duration are recorded in the activity log.

Not hourly. Not daily. Sync starts within seconds of your push — right when it matters, every time.

Observability

Know the state of every mirror

A clear dashboard shows you exactly what's happening across all your bindings — in real time and historically.

Status Tiles

Each binding has a live status tile showing its current state: syncing, idle, failed, or disabled. At a glance you know which mirrors are healthy and which need attention.

Activity Log

Every sync job is recorded with its trigger time, duration, and outcome. Browse the full history for any binding to understand how frequently it syncs and spot patterns in failures.

Error Messages

When a sync fails, the exact error is surfaced in the dashboard — no digging through logs. Common causes like expired tokens or unreachable destinations are identified clearly.

Last Sync Time

See exactly when each repository was last successfully mirrored. Know whether your backup is seconds or minutes behind — or immediately notice if no sync has run recently.

Audit Trail

Every action — binding created, manually triggered, token refreshed, binding deleted — is recorded in the audit log. Useful for compliance or simply understanding what changed and when.

Job Duration Tracking

Large repositories can take longer to mirror. Duration metrics help you understand the performance of your bindings over time and detect regressions before they become issues.

Security

Your infrastructure, your control

GitReposBackup is built with a minimal-trust model. No code is stored permanently, no credentials leave your server, and no third-party cloud service is ever involved.

OAuth-only Auth

No passwords to manage or leak. Users log in exclusively via GitHub, GitLab, or Bitbucket OAuth — authentication is delegated to the provider you already trust.

AES-256-GCM Token Encryption

OAuth access tokens are encrypted at rest using AES-256-GCM before being stored in the database. The encryption key never touches the database layer.

Webhook Signature Verification

Every incoming webhook payload is verified against the provider's HMAC signature before processing. Unsigned or tampered payloads are rejected immediately.

No Permanent Code Storage

Repository data is cloned at sync time, used only for the mirror operation, and deleted immediately after. No source code is retained on the GitReposBackup server.

Self-Hosted Deployment

GitReposBackup runs entirely on your own server. No data is sent to any cloud service operated by us. Your tokens, repos, and audit logs are yours alone.

Built for every team size

Whether you're protecting a personal side project or enforcing backup policies across an engineering organization, GitReposBackup fits without modification.

Individual Developers

  • Free for private, non-commercial use — no subscription needed
  • Protect personal projects across GitHub and GitLab simultaneously
  • No CLI, no scripts, no scheduled tasks to maintain
  • Set it up once and forget it; pushes are automatically mirrored

Small Teams

  • Keep all shared repositories mirrored to a secondary provider
  • Team keeps working on the backup even if the primary goes down
  • Connect multiple accounts — personal and org — in one dashboard
  • Activity log gives the whole team visibility into backup health

Companies & Organizations

  • Enforce redundancy policies across all engineering teams from one place
  • Deploy on-premises within your VPC — no data leaves your network
  • Audit logs satisfy compliance and security review requirements
  • Webhook-driven sync means backup is always near-real-time

Open Source Maintainers

  • Publish mirrors on GitHub, GitLab, and Bitbucket simultaneously
  • Contributors can fork and clone from whichever platform they prefer
  • Keep all mirrors current automatically — no manual push needed
  • Protect your project if a platform removes or restricts your account

Start mirroring your repositories today

Free for private, non-commercial use.

Sign In