We are changing our system. We settled on git (but are open for alternatives) as long as we can selfhost it on our own machines.
Specs
Must have
- hosted on promise
- reliabile
- unlikely to be discontinued in the next >5 years
- for a group of at least 20 people
Plus
- gui / windows integration
I can vouch for Forgejo
Easy to set up, has a website GUI like Github/GitLab you can use git GUIs with it
https://codeberg.org runs on Forgejo
Thank you! That would be my go to for my own projects as well. As far as I know they don’t want company sponsorship. I am unsure about sustainability
I am unsure about sustainability
In what regard?
That the project will be developed in a year or two
Maybe check how long it is already going, so it can give you some confidence. Forgejo is a fork of gitea, which is a fork of gogs.
Also, codeberg, a nonprofit from Germany, is supporting development.
https://docs.codeberg.org/getting-started/what-is-codeberg/
The codebase history of Forgejo and its predecessors predates Codeberg. However, since 2022, Codeberg is backing the development of Forgejo as an umbrella organization.
I’ve been looking at gitea because of its gitops capabilities that seem to be pretty much on par with github actions. Do you know if forgejo has something similar? There seems to be a lack of documentation in that area. This has been my only reason for not moving to forgejo but im hoping im wrong and just missed some documentation.
EDIT: Thank you all who provided some additional insights that I was missing. I’ll take the leap and give forgejo a try!
Forgejo is a fork of gitea, and it only became a hard fork earlier this year, so if gitea does something, forgejo probably does it as well.
I would go with Gitea or Forgejo (not sure how this is going to last) if you need a complete experience like a WebUI, issues, PR, roles and whatnot.
If you’re looking for just a git server then gitolite is very good and solid option. The cool thing about this one is that you create your repositories and add users using a repository inside the thing itself :).
Then you can use any Windows GUI you would like like Fork, SourceTree, your IDE etc…
At work we selfhost gitlab (paid) and I’m checking gitea for my own projects. They have a good comparison table at https://docs.gitea.com/installation/comparison
Do you also need CI/CD?
Is there a reason to choose gitlab over gitea?
We do not need ci/cd
If you don’t need CI/CD I don’t see any reasons to choose Gitlab over gitea. But I’m still testing gitea so take my words with a grain of salt :)
GitLab CE self hosted
TBH have you tried just basic git? There’s a web interface built into git itself and you can use ssh for your repositories. It’s simple and just works. If you need a faster web interface there’s also cgit. There’s no bells and whistles either. Just configure ssh, drop your repos in /srv and get to work.
If you need more that just standard basic git the. The other suggestions here are great especially forgjo!
I will look into it, thank you for that!
If money isn’t a problem then gitlab is your best choice.
It’s the most mature of the options you have available to you.
I use gitlab for airgapped networks
I would use Gitlab only in an airgapped network. Password resets sent to attacker-supplied emails is such a complete failure of a security model it seems like it is only a matter of time until the next critical vulnerability.
Yeah their security track record as of late is pretty bad…
I’ll come out with an anti-recommendation: Don’t do GitLab.
They used to be quite good, but lately (as in the past two years or so) they’ve been putting things behind a licensing paywall.
Now if your company wants to pay for GitLab, then maybe consider it? But I’d probably look at some of the other options people have mentioned in this thread.
I’m all for foss but foss shall not be a reason to stay behind. We’ve got enough money to pay for it. We just can’t host it anywhere. We have to selfhost it. If there’s a good reason to use gitlab over forgejo, we will use gitlab.
Define, what does “git” mean to you?
The core git is a peer to peer system. You don’t need any server at all. It runs on all of your dev’s workstations anyway.
If you want a webserver with gitlab etc. on top of it, then that determines most your needs. In addition, a properly set up nameserver is very helpful, and maybe you want even an Active Directory?
We are looking for a versioning system for collaborated work. Each person shall have his own version with a central main version. Being able to commit, push and restore versions.
Thx for asking, we have a nameserver and active directory. We move this system from team foundation server / azure devops server
If you want the full fancy GitHub, they have an on-prem enterprise edition for $21/user/month. https://github.com/pricing
But if you don’t need all their bells and whistles, or the team doesn’t care about not having the GitHub interface, then the other suggestions are better.
For the server I’ve used gogs for many years. It was easy to set up and has a web interface. What client you use is really up to you with git.
Gitlab Community edition is what we use
As you look through these recommendations, keep in mind that source code storage will become in-scope for PCI DSS certification in the very near future.