3 ms·
> Maybe its time to setup a self-hosted backup VCS and not depend entirely on GitHub/GitLab web. I've been wanting to do this for some time purely for git host
by tomxor 6y ago
> Maybe its time to setup a self-hosted backup VCS and not depend entirely on GitHub/GitLab web.
I've been wanting to do this for some time purely for git hosting (don't care about CI at all) but wasn't sure about how to make it failover...
Personally i'd be happy with a headless git server, but that's not fair on everyone else who wants the GUI to browse and organise stuff, so I want gitlab etc to deal with that. What would be nice is to have a headless backup server that allowed everyone to continue pulling/pushing from the CLI with their existing repos when gitlab is down. I can't see a smooth way of doing that since it would require messing with the git remotes, unless the solution is inverted and uses a single remote pointing at the "backup" server which then replicates to gitlab, but I don't think gitlab can be configured to change the default remote when people clone it from the UI.
I suppose this is why people just end up self hosting gitlab instead.
- the_duke 6y agoIf you want transparent failover you need to use your own domain for the repo URL. In case of a failure you (or some automatic job) would have to change the DNS record. Gitlab has a repo mirroring feature [1]. But of course you'd also need to sync users public keys. Downtimes are so infrequent and relatively short that this isn't worth the effort for me. You can instead set up a read-only mirror so people can at least still pull and browse the code.. Gitea [2] might be a better choice than Gitlab, since it's much more lightweight and easier to host. [1] https://docs.gitlab.com/ce/user/project/repository/repository_mirroring.html https://docs.gitlab.com/ce/user/project/repository/repositor... [2] https://gitea.io https://gitea.io
- tomxor 6y agoThanks this is useful to know > Downtimes are so infrequent and relatively short that this isn't worth the effort for me. That's essentially the same conclusion I keep coming too, occasionally it has hit me when I go to push something but rarely has it blocked me or anyone else from continuing to work. > You can instead set up a read-only mirror so people can at least still pull and browse the code Yeah, this I need to do eventually just for peace of mind as a more automated backup solution. At least I don't have to care about failover.
- mroche 6y agoMaybe some kind of pre/post-push hook to automatically push to a secondary repo? Not entirely sure if this is possible, I’ve never written a Git hook before. https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks