Dear community,
we’d like to get your opinions about the use of the “mirrors” feature in the platform. Right now, this feature is enabled, meaning users can create repositories which are mirrors of repositories from other platforms (GitHub, GitLab, Codeberg, etc.).
The problem
We’re seeing continuous abusive usage of this functionality where some accounts have repos that only consist of mirrors. Some of these are also (very) large repos (100MB+, sometimes in the GB range). These repos don’t have much value in our view as they are either never being used or mainly act as pull rate limit alternatives if these are reached on the main platform.
Another possible reason might be to increase SEO for the repos at hand as they now appear multiple times in the web under different domains, making them possibly “more important” to search engines.
On top, the periodic sync of these repos cause quite some CPU activity on the server. While we’ve already applied custom patches to how these processed are handled compared to vanilla Forgejo (e.g. using renicing on these processed and limiting their overall CPU share), their need is still substantial at times. In some cases mirrors throw errors due to missing credentials or the upstream repo being gone, leaving a non-functional repo which doesn’t stop trying to sync in the given intervals (this could/should likely be fixed within Forgejo but is the current state as of right now).
Last, we have increased manual effort to contact these users, explain their (abusive) use and moderate the whole topic. We are aware that not everyone might see what their use of mirrors actually means and why it might be a problem. We also don’t wanna prejudge every new mirror as being potentially suspicious and created with bad intent. Additionally, we don’t wanna delete such repos without any warning or general communication with the owning users. These cases will always exist and increase over time with more users joining the platform. Right now we don’t think that we can (and want) keep up with this manual moderation effort for this specific topic but we’re open to suggestions on how to possibly handle it (see below).
How other platforms handle it
GitHub and GitLab don’t allow mirrors resp. don’t provide this feature in the first place. Codeberg has disabled it since quite some time as they also concluded that it was mainly used for abusive purposes and caused their repo storage size to increase for a almost no added value of these repos.
Poll
Besides written feedback, we’ve added a poll (closing in 2026-05-14) to gather feedback on the topic. If you vote for “Keep enabled”, we’d also love to hear how you think this can work on the practical side with respect to moderation and abuse control.
- Keep enabled
- Disable it