github arunavo4/gitea-mirror v2.18.0

latest releases: v3.0.2, v3.0.1, v3.0.0...
2 months ago

🎉 New Features

Mixed Organization Strategy

A new fourth organization strategy option has been added that provides flexible repository mirroring:

  • Personal repositories are mirrored to a single configurable organization
  • Organization repositories preserve their GitHub organization structure
  • Combines the benefits of both "Single Organization" and "Preserve Structure" strategies
  • Visual indicators with orange color theme for easy identification

Override Options Documentation

Added comprehensive in-app documentation for destination customization:

  • New "Override Options" info button in the Organization Strategy component
  • Explains how to use organization-level overrides (via edit buttons on org cards)
  • Details repository-level overrides (via inline destination editor)
  • Clarifies starred repositories behavior and priority hierarchy

🔧 Improvements

  • Simplified Implementation: The mixed strategy reuses existing database fields (organization) instead of adding new complexity
  • Enhanced UI: Better visual indicators and hover interactions for the new features
  • Consistent Experience: Maintains backward compatibility while adding new functionality

📋 Technical Details

Files Modified

  • /src/types/config.ts - Added "mixed" to MirrorStrategy type
  • /src/lib/db/schema.ts - Updated mirrorStrategy enum
  • /src/lib/gitea.ts - Added mixed strategy routing logic
  • /src/components/config/OrganizationStrategy.tsx - Added UI for mixed strategy and override docs
  • /src/components/config/OrganizationConfiguration.tsx - Updated labels for mixed mode
  • /src/lib/gitea.test.ts - Added comprehensive tests for mixed strategy

Priority Hierarchy

The destination resolution follows this priority order:

  1. Repository-specific override (highest priority)
  2. Organization-specific override
  3. Strategy default behavior (lowest priority)

🚀 Usage Example

When using the Mixed Mode strategy:

  • Your personal repos (e.g., username/my-project) → github-mirrors organization
  • Organization repos (e.g., my-org/team-project) → my-org organization
  • Starred repos → Always go to the configured starred repos organization

📦 Installation

# Using Docker
docker pull ghcr.io/arunavo4/gitea-mirror:2.18.0

# Using Bun
bun install
bun run build
bun run start

🔗 Links


Thank you to all contributors and users who provide feedback to improve Gitea Mirror!

Don't miss a new gitea-mirror release

NewReleases is sending notifications on new releases.