Serious question about Gitlab and something that has always scared me away: How does it perform on a resource-constrained system? A lot of the hardware requirements[1] are presented in terms of <x> users, but the "minimum" RAM requirement seems really high. If I wanted to use this with a small team (~20 users) in a resource constrained environment it seems like it'd be way overkill.
It needs disk space mostly, and you can run it with 2G RAM, so that's 20 USD/month on a VPS with SSDs with 40G space.
If that's still not cheap enough, then you can of course use it on a non-SSD VPS, configure it to use fewer Ruby worker processes and so on.
The only problem I (we) have with GitLab, is that it doesn't cache git trees, so it always fires off a git process to read the repository. (At least when this came up they wasn't open to caching it in Redis. Maybe this changed, or maybe it's available in their Enterprise offering...)
The ram usage is very high for an application of this type, if you compare it to something like Indefero [1]. The minimum requirements on the page you linked seem correct.
[1]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst...