I want to have a local mirror/proxy for some repos I’m using.
The idea is having something I can point my reads to so that I’m free to migrate my upstream repositories whenever I want and also so that my stuff doesn’t stop working if some of the jankiest third-party repos I use disappears.
I know the various forjego/gitea/gitlab/… (well, at least some of them - I didn’t check the specifics) have pull mirroring, but I’m looking for something simpler… ideally something with a single config file where I list what to mirror and how often to update and which then allows anonymous read access over the network.
Does anything come to mind?
git is already a decentralized version control software. Your local git repos are mirrors by themselves.
Put some git fetch
in a server crontab, and you’re done. You can access them via ssh if your user have permissions.
I’d look into the git-maintenance’s prefetch task. From what I understand, that is more or less what you are looking for. Then just run any old http(s) server and clone them from that https://git-scm.com/docs/git-maintenance
You need a bot that waits for a change and then pushes
git