InsightSoftwareConsortium / InsightSoftwareConsortium/ITK
Proposal: Create a Forgejo Mirror of the InsightSoftwareConsortium GitHub Organization
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 748
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 64
Description
### **Summary**
I propose establishing one or more Forgejo mirror for the InsightSoftwareConsortium GitHub organization. This would provide a decentralized, open, and community-controlled backup for all our repositories, ensuring long-term accessibility and resilience for ITK and related projects.
---
### **Motivation**
- **Resilience and Redundancy**: A Forgejo mirror ensures that our code, issues, and project history remain accessible even if GitHub is unavailable or access policies change.
- **Open Source Values**: Forgejo is 100% Free and Open Source Software, maintained by an independent community[^2][^5]. Mirroring to Forgejo aligns with our commitment to open science and open infrastructure.
- **Familiarity and Low Barrier**: Forgejo offers a GitHub-like interface, making it easy for contributors to access and use[^2][^5].
- **Archival and Federation**: Mirroring supports archiving and, in the future, could enable federation with other forges for broader collaboration[^1][^2][^5].
---
### **Implementation Outline**
- **Repository Mirroring**: Use Forgejo’s repository mirroring feature to regularly sync all InsightSoftwareConsortium GitHub repositories to a Forgejo instance[^1].
- This can be set up as a pull mirror, which periodically fetches all branches, tags, and commits from GitHub[^1].
- Each repository would be mirrored individually; this can be automated via scripts or tools (e.g., GitHub2Forgejo, custom scripts)[^3][^4].
- **Access and Visibility**: The Forgejo mirror would be public and linked from our main documentation and website, increasing visibility and redundancy.
- **Maintenance**: Periodic checks to ensure synchronization is working as expected.
---
### **References**
- [Forgejo Docs: Repository Mirrors][^1]
- [Forgejo: About and Features][^2][^5]
- [Example mirroring scripts and automation][^3][^4]
---
### **Request for Feedback**
- NumFOCUS can help host this?
- Should we mirror all repositories or only selected core projects?
- What additional features (issues, wikis, releases) do we want to mirror or archive beyond Git data?
---
CC @seanm
[^1]: https://forgejo.org/docs/latest/user/repo-mirror/
[^2]: https://forgejo.org
[^3]: https://justyn.io/til/mirror-starred-repositories-from-github-to-gitea-forgejo/
[^4]: https://github.com/RGBCube/GitHub2Forgejo
[^5]: https://github.com/qundao/mirror-forgejo
[^6]: https://code.forgejo.org/crystal/repository-mirroring-action
[^7]: https://www.reddit.com/r/selfhosted/comments/12iv63i/automated_gitmirror_of_selected_repositories/
[^8]: https://forgejo.org/docs/latest/admin/config-cheat-sheet/
[^9]: https://forgejo.org/docs/v1.19/admin/config-cheat-sheet/
[^10]: https://github.com/bit-team/backintime/issues/2005
[^11]: https://a13xp0p0v.github.io/2023/01/29/mirroring-github-projects.html
[^12]: https://forgejo.org/docs/v7.0/user/repo-mirror/
[^13]: https://www.reddit.com/r/selfhosted/comments/1kskl75/gitea_mirror_a_tool_for_mirroring_github_repos_to/
Contributor guide
Assessment
This issue has not been assessed yet.