Ask HN: Gitlab or Gitea for self-hosting Git?
Use case needs:
- internal, small company (<10 "devs" of any kind) development source control
- as lightweight as possible (but no lighter)
- support for "common" git clients (vscode, cli, atom, etc)
If it matters, most of the development work that will be going on is related to config file management, xml documents, scripts, etc - for the foreseeable future, we have no need for integrations into automated build systems
With those needs/conditions in mind, would you pick Gitea, Gitlab, or something else ... and why?
22 comments
[ 2.7 ms ] story [ 141 ms ] threadObviously both are Git hosting platforms so I'm not sure what more we can do for you.
Consider looking at the financial cost of support for both. As a company your time fixing problems is what I think is the most important consideration. Initial setup time is a small price compared to lifelong maintenance.
For Gitea I never had any problems I didn't create myself. But aren't all problems like that. And I didn't have a very complicated set up.
So...not sure there's a big difference on that front :)
GitLab is good for teams or when you want to play with a fully featured CI/CD and have a solid Issue/ MR System. It however is also quite a hassle to maintain sometimes though the omnibus installations have gone a long way. Also be prepared to spare some RAM.
Gitea on the other hand is light and comes with some QoL things like non-paywalled Repository mirroring and compatibility with GitHubs CI. It's also a bit snappier and very easy to run. The ressource usage also reflects this both from disk space and RAM.
It's kinda like comparing vscode to a full blown IDE.
Not in the same league. But might be adequate for OP.
Just makes sure you _really need_ to host your own git repo and it's not some sort of overzealous security/compliance measure. If you don't trust github, gitlab, maybe sourcehut (https://sr.ht - no affiliation) is a good fit?
If you do setup an internal repo, makes sure you setup mirrors and/or remote backups and a documented and tested disaster recovery scenario.
ps. if you don't need a web interface, a UNIX server running SSH is just fine. Server side:
On the dev machine: And if you need a web interface: https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb :-)Now I don't think this is a good idea, but since you specifically said as lightweight as possible I just wanted to mention it-
Running just git on an ssh accesible user is absolutely the most lightweight possible solution. You just need git and ssh, that's it. It's compatible with every normal git client, and does all the normal git stuff. This is how I manage my smaller personal projects (running on a raspberry pi), and it works fine for a single person.
There's no CI/CD. No Pull Requests, no web GUI, none of the niceties of any of the options mentioned here.
However if it's really very lightly used, and by technically inclined people, it may be an option.
e: I stand corrected, there is apparently a web UI!
In general they work fine but Gitlab had many times upgrade issues resulting in downtimes more often than not. And Gitea resources use feels more light in general.
Tried gitlab, was a nightmare to set up and consumed a lot of resources.
Another key point is: software is not just software. Your team will develop habits and working style. It'll be dead investment if you have to change software at a later time.
Gitea is a good choice for small companies because it is lightweight and easy to use. It also has all of the features that you need for basic source control management.
However, if you need integrations with automated build systems, then GitLab is a better choice. GitLab is a more powerful and feature-rich Git server, but it is also more complex to set up and manage.
Ultimately, the best choice for you will depend on your specific needs and requirements. If you are looking for a lightweight and easy-to-use Git server, then Gitea is a good option. If you need integrations with automated build systems, then GitLab is a better choice.
> git instaweb
https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb