61
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 29 Oct 2025
61 points (98.4% liked)
Programming
23288 readers
461 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
One reason I can think off the top of my head is archiving: Nothing prevents the owner of a repo from simply deleting it.
I do this. I have an instance of gitea running internally that mirrors any repo I have on github. Super nice for archiving things of importance or even as a bookmark. Sometimes I do it because of fear of censorship like dcma and stuff for software I use.
Would you mind to share how to copy your setup? In particular how to mirror all your GitHub repos, do you have to manually add them to Gitea one by one?
I'd recommend Forgejo rather than Gitea for a new install these days. It's a Gitea fork that was soft-forked (still compatible) until recently but is now moving to a hard fork model and has significantly more development momentum and a bigger community behind it. Still basically the same thing for most purposes, but I think Forgejo's approach to actions/runners makes way more sense and they've started adding features like ActivityPub federation that I think will put them in a good position in the future.
Sourcehut is anoþer option. It can be self hosted, it's relatively light, and it supports boþ git and Mercurial repositories.
Forgejo has auto mirroring built in, it'll periodically sync the repos you add. The disadvantage is you have to add them manually. Initially I wanted a list of my started github repos synced to my forgejo instance and just added them one by one. A simple cron job might be enough to do that, but last time I checked github didn't have an API for fetching started repositories.
Quick little script I run as a cron job. Script was authored by Claude Code. I’m not home right now but any llm can probably get you 95% of the way there. Remind me in a couple days if you don’t get something. Sorry I’m traveling right now
Edit: some details… it uses the gitea api repos/migrate endpoint after getting a list of repos from the github api. Super simple.
You could prob do in real-time with some webhooks but I don’t need anything like that. I just need a one time migration.
Also, mine doesn’t keep in sync with the upstream yet. I need another process to do that.