I've been using GitLab since the early days, but a week ago I switched to Forgejo. Power usage on the server dropped by 10%, despite both being idle most of the time.
As the author says, GitLab feels sluggish, and is bloated with 1001 thing I'd never use that just makes the UI a pain. Despite all the features I don't need, some that I would benefit from are disabled in the free version.
Forgejo is simpler. It allows me to hide features per project that I don't need. Bit there are some tradeoffs. Updates on GitLab was great. I've been letting it self update for years with no issues. This does not work on Forgejo. Forgejo is also a lot less polished, and some features just doesn't seem to work like they should.
>Speed. The GitLab web interface has always felt sluggish to me.
10 years later the same problem remains. While Gitea / Forgejo have very little performance problems. And will only get better once Go 1.26 is out. Which is a much bigger release than a single digit version number upgrade.
We switched to gitlab at work about five years ago and this perfectly summarizes my experience. Add to that Gitlab projects also have a included Maven, NPM and python compatible package registry, so you can just push your package back in the CI pipeline is one of my favourite features as a smaller team. My least favorite feature is actually the sheer number of features. There is actually too many features. And the constant waiting. Basically every screen is just twice as slow as I would like to wait.
After using Stash for ages at work we switched to gitlab which was refreshing. It was fast, self hosted, and full of features, especially useful around quality gates and build on PRs. Then it was decided we should go for best of suite instead of breed and we went to azure devops.
It is slow as molasses, issues are more project management oriented instead of coding, quality gates are virtually non existent and builds are now slow. Builds are slow because instead of our beefy build servers they run on VMs, that are undersized and have IOPS restrictions, because downloading the cache for maven/docker/npm is relatively fast but actually expanding it on disk is slow, because just the simple orchestration to spawn a job is also slow.
I would love to go back to gitlab and I would even dedicate some time to performance tune it and contribute back. I think gitlab does everything right. (Technically, not sure about pricing and tiering.)
Tangent, but fantastic website. Honestly it was a pleasure just to read it and click around on it. I'm not sure if the design and idea was your own or part of some Jekyll theme, but the execution is just fantastic. Couldn't find the source in your GitHub repos, but maybe I just didn't look hard enough.
I switched from GitLab to Forgejo for my private projects after not wanting to deal with how slow GitLab's interface is anymore.
I still have proper CI, issue tracking, and all other features I care about, but the interface loads instantly and my screen isn't filled with many features I'll never use for my private projects.
While it‘s pretty great to have such a unified interface, there are many papercuts.
To me it has become a bit of a meme that you always end up in this old-issue flow: I want to do X -> Try it -> Run into an issue -> Search for solution -> Find an official bugreport that is 3-8y old. Also many features seem to be stuck in either the 80/20 hell or it the „we needed a bulletpoint on a feature list and built a barely working MVP“-situation. The slow interface, as mentioned in other comments, is so incredibly painful on MR-views that it drives me crazy some days.
We use self-hosted GitLab at work. It’s really a pleasure to use, everything works the way it feels like it should. The main downside is the system resource requirements are absurd considering at any given time there’s only 1-2 people using the GitLab interface.
I also like it. At one point I had my team move all of our team management to it as well. It was a little bit painful as first, but once you understand the issue, epic, milestone hierarchy it was it was great. The board feature that does kanban was cool. Switching from dedicated ec2 runners to pods in our cluster was less awesome…
For a long time I self hosted Gitlab, and was always quite happy with it, but I recently moved my VPS and decided to give Forgejo a try, and I have to say it's refreshing. It's really fast and takes a fraction of the resources Gitlab does. I'm sure Gitlab have more features, but frankly, I wasn't using them. I still like Gitlab, we use it at work and it does a good job, but for my own needs I don't see myself switching back any time soon.
It's frustrating that the so-called enterprise solutions are monsters. In a former workplace we were using Gogs for a long time. It's so nice to work with software that doesn't require a ton of resources for a relatively simple task.
We are running GitLab Ultimate in three different environments. Like 2000 users each and each user pipeline runs crazy like hundreds amounts of jobs. GitLab is keeping up. But we are sized for the 40 RPS architecture
Just in case anyone else (like me) didn't get the reference:
> This page describes the GitLab reference architecture designed to target a peak load of 40 requests per second (RPS), the typical peak load of up to 2,000 users, both manual and automated, based on real data.
For a company that (optionally) wants to self-host stuff, I'd say GitLab is pretty great - it's there for you, be it in the cloud or on-prem and mostly works, if you have enough resources to throw at the instance.
At the same time it won't always have full on feature parity with some of the other options out there, or won't be as in depth as specialized software (e.g. Jira / Confluence) BUT everything being integrated can also be delightfully simple and usable.
I will say that I immensely enjoy working with GitLab CI at work (https://docs.gitlab.com/ci/), even the colleagues on projects using Jekins migrated over to it and seems like everyone prefers it as well, the last poll showing 0 teams wanting to use Jenkins over it (well I might later for personal stuff, but that's more tool-hopping, like I also browser and distro hop; to see how things have changed).
However, it was a bit annoying for me to keep up with the updates and the resource usage on a VPS so that's why my current setup is Gitea + Drone CI (might move over to Woodpecker CI) + Nexus instead of GitLab, and is way more lightweight and still has the features I need. Some people also might enjoy Forgejo or whatever, either way it's nice to have options!
I like using it at work. I probably would use something lighter if I ever move off github though, as I've seen the IT throw more and more resources at it for simple usage with just 30-40 MRs per day.
Also the free version doesn't have PR requirements or multiple reviewers etc.
One interesting point of GitLab for me is the self-hosted version, including the AI features (Duo) that can also be self-hosted and you can bring your own OpenAI/Anthropic key.
It's okay. But I would definitely pick Forgejo over it for self-hosting these days. It's written in Go which is a lot better. Much faster, easier to set up, you can actually follow the code (sometimes I've had to read Gitlab's code to understand features and nearly always failed). Also no features are paid. The ones that made us eventually pay for Gitlab were mandatory reviews and merge trains. Tbh I don't think Forgejo has either of those features yet but at least when they are available they'll be free!
I've been using GitLab since the early days, but a week ago I switched to Forgejo. Power usage on the server dropped by 10%, despite both being idle most of the time.
As the author says, GitLab feels sluggish, and is bloated with 1001 thing I'd never use that just makes the UI a pain. Despite all the features I don't need, some that I would benefit from are disabled in the free version.
Forgejo is simpler. It allows me to hide features per project that I don't need. Bit there are some tradeoffs. Updates on GitLab was great. I've been letting it self update for years with no issues. This does not work on Forgejo. Forgejo is also a lot less polished, and some features just doesn't seem to work like they should.
>Speed. The GitLab web interface has always felt sluggish to me.
10 years later the same problem remains. While Gitea / Forgejo have very little performance problems. And will only get better once Go 1.26 is out. Which is a much bigger release than a single digit version number upgrade.
We switched to gitlab at work about five years ago and this perfectly summarizes my experience. Add to that Gitlab projects also have a included Maven, NPM and python compatible package registry, so you can just push your package back in the CI pipeline is one of my favourite features as a smaller team. My least favorite feature is actually the sheer number of features. There is actually too many features. And the constant waiting. Basically every screen is just twice as slow as I would like to wait.
After using Stash for ages at work we switched to gitlab which was refreshing. It was fast, self hosted, and full of features, especially useful around quality gates and build on PRs. Then it was decided we should go for best of suite instead of breed and we went to azure devops.
It is slow as molasses, issues are more project management oriented instead of coding, quality gates are virtually non existent and builds are now slow. Builds are slow because instead of our beefy build servers they run on VMs, that are undersized and have IOPS restrictions, because downloading the cache for maven/docker/npm is relatively fast but actually expanding it on disk is slow, because just the simple orchestration to spawn a job is also slow.
I would love to go back to gitlab and I would even dedicate some time to performance tune it and contribute back. I think gitlab does everything right. (Technically, not sure about pricing and tiering.)
Tangent, but fantastic website. Honestly it was a pleasure just to read it and click around on it. I'm not sure if the design and idea was your own or part of some Jekyll theme, but the execution is just fantastic. Couldn't find the source in your GitHub repos, but maybe I just didn't look hard enough.
I switched from GitLab to Forgejo for my private projects after not wanting to deal with how slow GitLab's interface is anymore.
I still have proper CI, issue tracking, and all other features I care about, but the interface loads instantly and my screen isn't filled with many features I'll never use for my private projects.
Here's a link to a previous HN discussion on forgejo
https://news.ycombinator.com/item?id=42753523
Forgejo does all that while being lightweight and run by a non-profit. Gitlab is awfully resource hungry.
> Gitlab is awfully resource hungry.
Yes... and no.
Gitlab doesn't make sense for a low-volume setup (single private user or small org) because it's a big boat in itself.
But when you reach a certain org size (hundreds of users, thousands of repos), it's impressive how well it behaves with so little requirements!
While it‘s pretty great to have such a unified interface, there are many papercuts. To me it has become a bit of a meme that you always end up in this old-issue flow: I want to do X -> Try it -> Run into an issue -> Search for solution -> Find an official bugreport that is 3-8y old. Also many features seem to be stuck in either the 80/20 hell or it the „we needed a bulletpoint on a feature list and built a barely working MVP“-situation. The slow interface, as mentioned in other comments, is so incredibly painful on MR-views that it drives me crazy some days.
We use self-hosted GitLab at work. It’s really a pleasure to use, everything works the way it feels like it should. The main downside is the system resource requirements are absurd considering at any given time there’s only 1-2 people using the GitLab interface.
I also like it. At one point I had my team move all of our team management to it as well. It was a little bit painful as first, but once you understand the issue, epic, milestone hierarchy it was it was great. The board feature that does kanban was cool. Switching from dedicated ec2 runners to pods in our cluster was less awesome…
For a long time I self hosted Gitlab, and was always quite happy with it, but I recently moved my VPS and decided to give Forgejo a try, and I have to say it's refreshing. It's really fast and takes a fraction of the resources Gitlab does. I'm sure Gitlab have more features, but frankly, I wasn't using them. I still like Gitlab, we use it at work and it does a good job, but for my own needs I don't see myself switching back any time soon.
It's frustrating that the so-called enterprise solutions are monsters. In a former workplace we were using Gogs for a long time. It's so nice to work with software that doesn't require a ton of resources for a relatively simple task.
We are running GitLab Ultimate in three different environments. Like 2000 users each and each user pipeline runs crazy like hundreds amounts of jobs. GitLab is keeping up. But we are sized for the 40 RPS architecture
My experience also.
I would never use Gitlab for my own needs, but at company level, it's impressive how well it behaves!
> But we are sized for the 40 RPS architecture
Just in case anyone else (like me) didn't get the reference:
> This page describes the GitLab reference architecture designed to target a peak load of 40 requests per second (RPS), the typical peak load of up to 2,000 users, both manual and automated, based on real data.
https://docs.gitlab.com/administration/reference_architectur...
For a company that (optionally) wants to self-host stuff, I'd say GitLab is pretty great - it's there for you, be it in the cloud or on-prem and mostly works, if you have enough resources to throw at the instance.
It's not as demanding as a some of the other software out there, like a self-hosted Sentry install, just look at all of the services: https://github.com/getsentry/self-hosted/blob/master/docker-... in comparison to their self-contained single image install: https://docs.gitlab.com/install/docker/installation/#install...
At the same time it won't always have full on feature parity with some of the other options out there, or won't be as in depth as specialized software (e.g. Jira / Confluence) BUT everything being integrated can also be delightfully simple and usable.
I will say that I immensely enjoy working with GitLab CI at work (https://docs.gitlab.com/ci/), even the colleagues on projects using Jekins migrated over to it and seems like everyone prefers it as well, the last poll showing 0 teams wanting to use Jenkins over it (well I might later for personal stuff, but that's more tool-hopping, like I also browser and distro hop; to see how things have changed).
However, it was a bit annoying for me to keep up with the updates and the resource usage on a VPS so that's why my current setup is Gitea + Drone CI (might move over to Woodpecker CI) + Nexus instead of GitLab, and is way more lightweight and still has the features I need. Some people also might enjoy Forgejo or whatever, either way it's nice to have options!
I like using it at work. I probably would use something lighter if I ever move off github though, as I've seen the IT throw more and more resources at it for simple usage with just 30-40 MRs per day.
Also the free version doesn't have PR requirements or multiple reviewers etc.
One interesting point of GitLab for me is the self-hosted version, including the AI features (Duo) that can also be self-hosted and you can bring your own OpenAI/Anthropic key.
But only with a premium subscription, right?
It's okay. But I would definitely pick Forgejo over it for self-hosting these days. It's written in Go which is a lot better. Much faster, easier to set up, you can actually follow the code (sometimes I've had to read Gitlab's code to understand features and nearly always failed). Also no features are paid. The ones that made us eventually pay for Gitlab were mandatory reviews and merge trains. Tbh I don't think Forgejo has either of those features yet but at least when they are available they'll be free!
Why not Gitea over Forgejo, which is what Forjego seems to be forked from?
That said, looking at recent releases, there are nice things from both, and if I wasn’t running GHES, I’d be stuck to choose between the two
Philosophical convictions, I guess?
One is supported by a for-profit org, while the other by a non-profit org.
Absolutely the same here. Same journey and same points. One added benefit is that you don't have to suffer through GH actions on GitLab as well.
They sometimes do braindead moves like prohibiting no-expiry-date access tokens but otherwise it's pretty smooth sailing.
And with recent migration to an SPA GitLab feels quicker and quicker.