xrd an hour ago

I've been messing around with GitLab as a self hosted alternative for a few years. I do like it, but it is resource intensive!

For the past few days I've been playing with Forgejo (from the Codeberg people). It is fantastic.

The biggest difference is memory usage. GitLab is Ruby on Rails and over a dozen services (gitlab itself, then nginx, postgrest, prometheus, etc). Forgejo is written in go and is a single binary.

I have been running GitLab for several years (for my own personal use only!) and it regularly slowly starts to use up the entirety of the RAM on a 16GB VM. I have only been playing with Forgejo for a few days, but I am using only 300MB of the 8 GB of RAM I allocated, and that machine is running both the server and a runner (it is idle but...).

I'm really excited about Forgejo and dumping GitLab. The biggest difference I can see if that Forgejo does not have GraphQL support, but the REST API seems, at first glance, to be fine.

  • homebrewer 40 minutes ago

    Ease of maintenance is an even bigger difference. We've been using gitea for a bit over five years now, and gitlab for a few years before that, and gitea requires no maintenance in comparison. Upgrades come down to pulling the new version and restarting the daemon, and take just a few seconds. It's definitely the best solution for self-hosters who want to spend as little time as possible on their infrastructure.

    Backups are handled by zfs snapshots (like every other server).

    We've also had at least 10× lower downtime compared to github over the same period of time, and whatever downtime we had was planned and always in the middle of the night. Always funny reading claims here that github has much better uptime than anything self-hosted from people who don't know any better. I usually don't even bother responding anymore.

    • c-hendricks 34 minutes ago

      When I self hosted gitlab I never found the maintenance to be that bad, just change a version in a compose.yml, sometimes having to jump between blessed versions if I've missed a few back to back.

      Like others, I've switch to Gitea, but whenever I do visit gitlab I can't help but think the design / UX is so much nicer.

  • zdw 8 minutes ago

    If you want even more minimal, Gerrit is structured as a Java app with no external dependencies like databases, and stores all it's configuration and runtime information on the filesystem, mostly as data structures in the git repos.

    Shared filesystems is all you need to scale/replicate it, and it also makes the backup process quite simple.

  • adamcharnock 34 minutes ago

    We've been looking at Forgejo too. Do you have any experience with Forgejo Actions you can share? That is one thing we are looking at with a little trepidation.

WD-42 28 minutes ago

> To avoid this problem, I created my own bug tracker software, buggy, which is a very simple C tool that parses plain Markdown files and creates a single HTML page for each bug.

The hacker spirit alive and well.

throwaway150 an hour ago

> Additionally, GitHub seems to encourage a "push model" in which you are notified when a new event occurs in your project(s), but I don't want to work with that model. Instead, I prefer it to work as a "pull model", so I only get updates when I specifically look for them. This model would also allow me to easily work offline. Unfortunately, I see that the same push model has been copied to alternative forges.

Someone kind enough to explain this to me? What's the difference between push model and pull model? What about push model makes it difficult to work offline?

  • johannes1234321 17 minutes ago

    I would say it is time/life management: push tells you to do something now. In pull I check each Friday afternoon what's up in my hobby project and work on it for a few hours and then call it a day and be uninterrupted till next week.

  • bayindirh 43 minutes ago

    AFAIK, the author wants to work like how Source Hut and Linux kernel works: by e-mails.

    When you're working with e-mails, you sync your relevant IMAP box to local, pulling all the proposed patches with it, hence the pull model.

    Then you can work through the proposed changes offline, handle on your local copy and push the merged changes back online.

    • iamnothere 18 minutes ago

      I would love to see more projects use git-bug, which works very well for offline collaboration. All bug tracker info is stored in the repo itself. https://github.com/git-bug/git-bug

      It still needs work to match the capabilities of most source forges, but for small closed teams it already works very well.

    • throwaway150 41 minutes ago

      All of this makes sense. Thank you for explaining. I don't think I understand the difference though.

      Like are they calling the "GitHub pull request" workflow as the push model? What is "push" about it though? I can download all the pull request patches to my local and work offline, can't I?

      • bayindirh 38 minutes ago

        GitHub pull request pushes you a notification/e-mail to handle the merge, and you have to handle the pull request mostly online.

        I don't know how you can download the pull request as a set of patches and work offline, but you have to open a branch, merge the PR to that branch, test the things and merge that branch to relevant one.

        Or you have to download the forked repository, do your tests to see the change is relevant/stable whatnot and if it works, you can then merge the PR.

        ---

        edit: Looks like you can get the PR as a patch or diff, and is trivial, but you have to be online again to get it that way. So, getting your mails from your box is not enough, you have to get every PR as a diff, with a tool or manually. Then you have to organize them. e-mails are much more unified and simple way to handle all this.

        ---

        In either case, reviewing the changes is not possible when you're offline, plus the pings of the PRs is distracting, if your project is popular.

0x696C6961 6 minutes ago

> On the usability side, the platform has become more and more slow over time

The best reason right here.

the__alchemist an hour ago

We are in the disapora phase; there is a steady stream of these announcements, each with a different GitHub alternative. I speculate that within a few months, the communities will have settled on a single dominant one. I'm curious if it will be one of the existing ones, or something new. Perhaps a well-known company or individual will announce one; it will have good marketing, and dominate.

  • NoboruWataya 3 minutes ago

    The bigger question is whether we want a single dominant replacement, or whether it just means we'll be back in the same place in 5 years.

  • iamnothere 26 minutes ago

    Different devs have different preferred ways to work and collaborate. I doubt the FOSS community will converge on a single solution. I think we’re at a point of re-decentralization, where devs will move their projects to the forge that satisfies their personal/group requirements for control, hosting jurisdiction, corporate vs community ownership, workflow, and uptime.

    This is due to increasing competition in the source forge space. It’s good that different niches can be served by their preferred choice, even if it will be less convenient for devs who want to contribute a patch on a more obscure platform.

  • dewey an hour ago

    This has been going on for a decade, at the beginning it was projects moving to Gitlab now there's a lot of alternative projects but GitHub is still the only one that counts for discoverability. This is a very small minority of projects that move away from Github and it's way too early to declare GitHub doomed.

  • icy 12 minutes ago

    > Perhaps a well-known company or individual will announce one; it will have good marketing, and dominate.

    Hah, exactly what we’re attempting with Tangled! Some big announcements to come fairly soon. We’re positioning ourselves to be the next social collab platform—focused solely on indies & communities.

  • manbash an hour ago

    > I speculate that within a few months, the communities will have settled on a single dominant one.

    The solutions on the roadmap are not centralized as GitHub. There is a real initiative to promote federation so we would not need to rely on one entity.

    • the__alchemist an hour ago

      I love this, and hope it works out this way. Maybe another way to frame it: In 2 years, what will the "Learn Python for Beginners" tutorials direct the user towards? Maybe there will not be a consensus, but my pattern-matching brain finds one!

  • tolerance an hour ago

    It looks like all that they’re doing is griping over frontends and interfaces to do all the custodial work other than version control (ie., all baked-in git provisions).

    How do you speculate the candidacy for email.

  • diath an hour ago

    Isn't that pretty much GitLab? But then most people still prefer GitHub anyway.

    • iamnothere 22 minutes ago

      GitLab is too heavyweight for many projects. It’s great for corporations or big organizations like GNOME, but it’s slow and difficult to administer. It has an important place in the ecosystem, but I doubt many small projects will choose it over simpler alternatives like Codeberg.

    • hshdhdhj4444 an hour ago

      Gitlab is worse than GitHub in every way.

      At least GitHub adds new features over time.

      Gitlab has been removing features in favor of more expensive plans even after explicitly saying they wouldn’t do so.

      • shortrounddev2 an hour ago

        Gitlab works fine for me. Been using it at work for a few years and recently moved all my personal repos there

      • Y_Y 39 minutes ago

        > At least GitHub adds new features over time.

        Not as quickly as they add anti-features, imho.

    • the__alchemist an hour ago

      Gitlab is part of the reason I'm thinking along these lines: It has been around for a while, as a known, reasonably popular alternative to GitHub. So, I expected the announcement to be "We moved to GitLab", Yet, what I observe is "We moved to CodeHouse" or "We moved to Source-Base" The self-hosting here with mirrors to two one I'm not familiar with is another direction.

      • shortrounddev2 an hour ago

        I think people are wary of moving to gitlab because its a similarly large platform and dont want to repeat their mistakes

    • blibble an hour ago

      gitlab has also gone full slop

potato-peeler 13 minutes ago

I hope you will continue maintaining a mirror in GH. Some tools like deepwiki are excellent resources to learn about a codebase when their is not much documentation going around. But these tools only support pulling from GH.

jmclnx 16 minutes ago

To me, this sounds like a good change. And FWIW, I an finding I am using dillo more and more these days.

I went to gitlab from github due to Microsoft changes, my needs are very simple so far gitlab seems OK.

I also mirror just the current source on sdf.org via gopher. If gitlab causes issues this could very well become my main site.

ksec an hour ago

>The most annoying problem is that the frontend barely works without JavaScript,

Not only did they spend years rewriting the frontend from Pjax to I think React? They also manage to lost customer because of it.

  • SoKamil an hour ago

    GitHub frontend is mostly still their own [1] Web Components based library. They use Turbo to do client side reloading. They have small islands of React based views like Projects view or reworked Pull Request review. The thing is, even if you disable JavaScript, sites still load sloow. Try it yourself. Frontend code doesn’t seem to be the bottleneck.

    [1] https://github.blog/engineering/architecture-optimization/ho...

superkuh an hour ago

>frontend barely works without JavaScript, ... In the past, it used to gracefully degrade without enforcing JavaScript, but now it doesn't.

And the github frontend developers are aware of these accessibility problems (via the forums and bug reports). They just don't care anymore. They just want to make the site appear to work at first glance which is why index pages are actual text in html but nothing else is.

  • simonw an hour ago

    I'd love to hear the inside story of GitHub's migration of their core product features to React.

    It clearly represents a pretty seismic cultural change within the company. GitHub was my go-to example of a sophisticated application that loaded fast and didn't require JavaScript for well over a decade.

    The new React stuff is sluggish even on a crazy fast computer.

    My guess is that the "old guard" who made the original technical decisions all left, and since it's been almost impossible to hire a frontend engineer since ~2020 or so that wasn't a JavaScript/React-first developer the weight of industry fashion became too much to resist.

    But maybe I'm wrong and they made a technical decision to go all-in on heavy JavaScript features that was reasoned out by GitHub veterans and accompanied by rock solid technical justification.

    GitHub have been very transparent about their internal technical decisions in the past. I'd love to see them write about this transition.

    • simonw an hour ago

      In answer to my own question about in-depth decision making, I just found this presentation from February 2025 by seven-year GitHub veteran Joel Hawksley: https://hawksley.org/2025/02/10/lessons-from-5-years-of-ui-a...

      Relevant quote:

      > But beyond accessibility and availability, there is also a growing expectation of GitHub being more app-like.

      > The first case of this was when we rebuilt GitHub projects. Customers were asking for features well beyond our existing feature set. More broadly, we are seeing other companies in our space innovate with more app-like experiences.

      > Which has led us to adoption React. While we don’t have plans to rewrite GitHub in React, we are building most new experiences in React, especially when they are app-like.

      > We made this decision a couple of years ago, and since then we’ve added about 250 React routes that serve about half of the average pages used by a given user in a week.

      It then goes on to talk about how mobile is the new baseline and GitHub needed to build interfaces that felt more like mobile apps.

      (Personally I think JavaScript-heavy React code is a disaster on mobile since it's so slow to load on the median (Android) device. I guess GitHub's core audience are more likely to have powerful phones?)

      • homebrewer 26 minutes ago

        For contrast, gitea/forgejo use as little JavaScript as possible, and have been busy removing frontend libraries over the past year or so. For example, jquery was removed in favor of native ES6+.

        Let them choke on their "app-like experience", and if you can afford it, switch over to either one. I cannot recommend it enough after using it "in production" daily for more than five years.

      • blibble 44 minutes ago

        github is a tool used where code is written: on desktop computers

        no-one cares about the github mobile experience

        microsoft making the windows 8 mistake all over again

  • baiwl an hour ago

    Having to enable javascript to see a website is not an accessibility problem according to WCAG.

    • marginalia_nu 23 minutes ago

      It is a very real accessibility problem if you're using Dillo, which does not support javascript.

  • egorfine an hour ago

    Fixing accessibility problems won't make shareholders happy while forcing AI down our throats will.

beanjuiceII 26 minutes ago

do we really need to hear about every obscure project that leaves github?

  • bayindirh 23 minutes ago

    Dillo is a 25 year old project some of us know very well and use.

    Obscurity is subjective. It might be obscure for you, and that's OK, but Dillo is not obscure for many people.

  • anthk 6 minutes ago

    Obscure? Dillo has been alive more time than tons of HN users.