InsightSoftwareConsortium / InsightSoftwareConsortium/ITK

Proposal: Create a Forgejo Mirror of the InsightSoftwareConsortium GitHub Organization

Open
#5,372 5 comments 1 reaction 0 assignees View on GitHub
type:Infrastructure
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.