Gitea Mirror
Mirror your GitHub repositories to a Gitea instance automatically
RayLabs HQ



Gitea Mirror automatically mirrors your GitHub repositories to a self-hosted Gitea instance. It supports mirroring public and private repositories, organizations, starred repos, issues, wikis, and pull requests.
Configure your GitHub and Gitea credentials through the web interface to get started. The app will periodically sync your repositories based on your configured schedule.
Key features include:
- Mirror repositories from GitHub to Gitea
- Support for organizations and starred repositories
- Issue and wiki mirroring
- Configurable sync intervals and scheduling
- Repository cleanup and orphan management
- Header-based authentication for reverse proxy SSO
Connecting to Gitea on Umbrel: If you have the Gitea app installed on your Umbrel, use http://gitea_server_1:8085 as the Gitea URL in the mirror settings.
The Gitea Access Token should have the following permissions:
- write:repository
- read:user
- write:organization (optional)
🐛 Bug Fixes
- Fixed mirroring to use the correct recorded location when syncing repositories
- Fixed authentication for mirroring private GitHub repositories
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
✨ New Features
- Filter GitHub starred repositories by list using a searchable selector
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
✨ New Features
- Schedule syncs at a specific start time with configurable frequency (hourly to daily)
- Simplified scheduling UI that always shows frequency and start time options
- Next sync time is now calculated and displayed immediately on the client side
- Defaults to your browser's timezone when enabling syncing
- Timezone badge now shows the actual saved timezone
🐛 Bug Fixes
- Fixed security vulnerabilities
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
🐛 Bug Fixes
- Fixed a database migration issue for SQLite compatibility
- Resolved security vulnerabilities and hardened API security
- Upgraded to Astro v6
✨ New Features
- Repositories are now sortable by import date
- Repository topics and descriptions are now imported into Gitea
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
🐛 Bug Fixes
- Gracefully handle SAML-protected organizations during GitHub import
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
🐛 Bug Fixes
- Fixed fork owner namespace collisions when using preserve-mode mirroring
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
✨ New Features
- Selective Starred Repository Mirroring: a new toggle lets you import starred repos for visibility without automatically mirroring all of them — useful if you have hundreds of starred repos
- When the Auto-Mirror Starred toggle is disabled, starred repos appear in the dashboard but won't sync unless you manually trigger them
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
✨ New Features
- Smart Force-Push Protection (Beta): detect and protect against destructive force-pushes on GitHub before they overwrite your Gitea mirrors
- New backup strategies configurable via Settings → GitHub Configuration → Destructive Update Protection: Disabled, Always Backup, Smart (default), and Block & Approve
- Smart mode compares branch SHAs before each sync and only creates backups when force-pushes are actually detected
- Block & Approve strategy shows an amber badge on affected repositories with Approve/Dismiss actions
- New pending-approval status for repositories blocked by the Block & Approve strategy
- Optional target organization field when adding a single repository to mirror
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
🛡️ Improvements
- Pre-sync snapshot protection to prevent data loss during mirror rewrites
- Disabled repositories are now excluded from cleanup while skipping new imports
- Clearer error guidance shown when an invalid origin is detected during authentication
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
✨ New Features
- Allow starred repos to be mirrored preserving structure
- Admin CLI password reset command
- Implement incremental issue and PR metadata sync
🐛 Bug Fixes
- ensure correct open/closed status when mirroring
- repo descriptions and toast no longer overlap
🔒 Security
- enforce session-derived user identity on API routes
🔧 Improvements
- Support release limits above 100
- Mirror sync status and token-rotation troubleshooting clarified
- Added optional external Gitea URL for UI links
Full release notes can be found at https://github.com/raylabshq/gitea-mirror
- Version3.14.2
- CategoryDeveloper Tools
- Source codePublic
- Developed by
- Submitted by
- Compatible withumbrelOS 0.5 or later
