Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.

Forgejo v9.0 is the first version to be released under a copyleft license, after a year of discussions. Among the motivations for this change is the realization that a pattern emerged over the years, exemplified by Redis, CockroachDB, Terraform and many others. They turned proprietary because people chose their own financial gain over the interest of the general public. Forgejo admins no longer have to worry about this sword of Damocles: relicensing it as a proprietary software is not allowed.

The removal of the go-git backend is part of a larger effort to make Forgejo easier to maintain, more robust and even smaller than it already is (~100MB). When presented with go-git as an alternative to Git, a Forgejo admin may overlook that it has less features and a history of corrupting repositories. It would have been possible to work on documentation and new tests to ensure administrators do not run into these pitfalls, but the effort would have been out of proportion compared to the benefits it provides.

The Forgejo localization community was created early 2024 with the ambitious goal of gaining enough momentum to sustain a long term effort. A daunting task considering there are over 5,000 strings to translate, verify and improve. There has been many calls for help in the past and the community keeps growing steadily. Fortunately, the translation hackathon (translathon) organized by Codeberg in October was exceptional. It attracted an unprecedented number of participants who improved or created thousands of translations.

  • Quack Doc@lemmy.world
    link
    fedilink
    arrow-up
    34
    ·
    edit-2
    2 months ago

    Was this the git hosting service that wanted to have things like federated (in this case im talking about cross instance) cloning, searching and issue hosting?

    I may be mistaken in general but iirc there was a hosting service like this that I found super interesting, especially in light of things like DMCA abuse against projects hosted on github and gitlab.

    EDIT: seems like it is one of two, forgefed is a protocol it will use, activitypub one, very interesting.

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      You do realize git is federated right? That’s how it came about.

      As for Forgejo itself they are working on instance to instance federation. I think it is Activity pub based so theoretically it could be compatible with Lemmy.

  • DebianGuy@lemmy.ml
    link
    fedilink
    arrow-up
    24
    ·
    edit-2
    2 months ago

    Has anyone have personal experience moving off of gitea and using forgejo

    I’d love to do this but it’s hard to find any written experiences yet.

    ;Edit: I will probably just try it

    • JASN_DE@lemmy.world
      link
      fedilink
      arrow-up
      27
      ·
      2 months ago

      Docker Gitea to Docker Forgejo was basically using a different image and pointing it to the existing database. Not sure if and when both will be different enough for that to no longer work. But I also only use it as a docker compose storage repository. No idea about automation etc.

      • DebianGuy@lemmy.ml
        link
        fedilink
        arrow-up
        5
        ·
        2 months ago

        Cool, I will spend time on it. From what I see, v24 is when gitea and forgejo went their own routes.

    • bert@lemmy.monster
      link
      fedilink
      arrow-up
      17
      ·
      2 months ago

      I don’t think I did more than spinning up the Forgejo container. Using the same db container and everything.

    • TVA@thebrainbin.org
      link
      fedilink
      arrow-up
      7
      ·
      2 months ago

      For me, it was literally as easy as (this is basically my upgrade process too):

      `

      systemctl stop gitea.service

      cd /home/git/

      wget https://codeberg.org/forgejo/forgejo/releases/download/v8.0.3/forgejo-8.0.3-linux-amd64

      mv forgejo-* gitea

      chmod +x gitea

      systemctl start gitea.service

      `

      I did it soon after the “split up” though, but it was super easy since they were still basically the same applications.

      Make backups, update the above to use your paths and the new download link you should be good to go. Mine is in a VM , so I was willing to just YOLO and give it a go since I could easily roll back.

      sorry for the formatting. on my phone and did my best!

        • TVA@thebrainbin.org
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          You’re Welcome! An extra safety measure might be to do a clone on all your repos to ensure you’ve got a local copy of them all and absolute worst case you’ll have a couple of levels of backup plans, but up until pretty recently they were pretty much the same app just re-skinned, so, I think you’ll be fine.

    • Lem453@lemmy.ca
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      2 months ago

      Check their website for migration info. There are some caveats in special circumstances but most people can just change the docker image from gitea to forgejo.

      I did exactly that with no issues.

    • conrad82@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      if i remember correctly, i just replaced gitea with forgejo for image: in my docker-compose, and it just worked

      it was a couple of versions back, so i don’t know if that still works

  • killthefish@lemm.ee
    link
    fedilink
    English
    arrow-up
    11
    ·
    2 months ago

    I know they have the phonetic spelling of the word in the repo but I still don’t know how to pronounce forgejo

  • YodaDaCoda@aussie.zone
    link
    fedilink
    English
    arrow-up
    10
    ·
    2 months ago

    Any idea how forgejo compares to radicle?

    I’m trying to decide what to install on my home server. I want something easy to start with but reasonably extensible and federated would be nice

    • ReversalHatchery@beehaw.org
      link
      fedilink
      English
      arrow-up
      13
      ·
      2 months ago

      forgejo is like github copy, and is a fork of the relatively known gitea. so far there are no federation features

      radicle is something similar, but as I understand, with distributed repo management. I don’t know the implications of this.

      radicle also has an own cryptocurrency, and is entangled with web3.
      while not all cryptocurrencies are scams, and probably the same applies to web3 projects, almost all of them are either scams, or useless for the purpose of using it as a currency. I don’t know how the radicle currency fares, but it made me distrust them somewhat when they started talking about that in their announcement channel, and the fact that since then the channel did not post much else did not help to gain back this trust

      • corsicanguppy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        2 months ago

        radicle also has an own cryptocurrency, and is entangled with web3.

        And that’s where it breaks the rule of “Do One Thing Well”.

        And while it’s super popular to spread and consume everything like a big sticky blob - oh hello, systemd - doing many things poorly (yes, we see you, systemd) needs a lot of diplomacy and help from others - hi, Kay - to keep the code flowing. It’s often not worth it, as we’ve seen but don’t want to admit … with systemd.

        (if you’ll excuse me, I need to go change the location where I look for static nic config files and use a reader more complex than ‘.’ because the windows format is way better and I’m old if I think otherwise)

  • flubba86@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    2 months ago

    How long does it take for the new features in Forgejo to appear in Codeberg? I suppose it’s possible they’re already there.

    Edit: Codeberg is still on v8.0.3-53, but code.forgejo.org is on v9.0.

    Edit2: Codeberg is now on 9.0 too.

  • GolfNovemberUniform@lemmy.ml
    link
    fedilink
    arrow-up
    23
    arrow-down
    20
    ·
    2 months ago

    I don’t know what a forge is and why not just use Git instead but good to see some more free software in our high seas.

    • itslilith@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      56
      ·
      2 months ago

      Forgejo is a free/open source code hosting site like GitHub or Gitlab. It’s a fork of Gitea, over concerns with management and commercialization. You might know it from Codeberg, which is one of the largest managed instances, but it’s really easy to host your own.

    • OatPotato [they/them, she/her]@hexbear.net
      link
      fedilink
      arrow-up
      14
      ·
      2 months ago

      It is based on Git. Imagine Github (Git server, issues tracker, pull requests and more) but open source and self-hosted. Gitlab can also do this but it has a lincencing model with non-free plans, Forgejo is fully open source.

    • unlawfulbooger@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      10
      ·
      edit-2
      2 months ago

      It was new to me too, but a (code) forge is essentially a VCS server with stuff like a wiki and issue tracking. So think GitLab, GoGS/Gitea/Forgejo, BitBucket and all the others.

    • Kajika@lemmy.ml
      link
      fedilink
      arrow-up
      9
      ·
      2 months ago

      yes bare git works just fine. if you ever want a web GUI and/or issues and Pull Request you want such a tool.

      A web GUI can be very nice to share your repository publicly. You can also use codeberg.org if you can’t or don’t want to self host.

      PS : I’m kinda shocked (not that much) by the downvotes or your legitimate and polite comment. Still looking for better communities/system.

    • dinckel@lemmy.world
      link
      fedilink
      arrow-up
      9
      ·
      2 months ago

      The original announcement isn’t even very long. Could you not have read it before leaving this comment?

      • GolfNovemberUniform@lemmy.ml
        link
        fedilink
        arrow-up
        11
        arrow-down
        1
        ·
        2 months ago

        I indeed haven’t read the full announcement and I know comments like mine are annoying to some but it is what it is I guess.

      • davidgro@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        2 months ago

        I also read the announcement (and FAQ, and other pages) but was still hoping someone would comment on what it is exactly.

        (I did guess along the right lines at least, but wasn’t really sure)

    • CaptDust@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      2 months ago

      Forgejo is like a self hosted GitHub. It expands beyond source control to include issue trackers, pull requests, wikis, publishing features and such.

  • flashgnash@lemm.ee
    link
    fedilink
    arrow-up
    6
    arrow-down
    3
    ·
    2 months ago

    I’m sorry, overlook corrupting repositories? If I’m going to be trusting pretty much everything I ever create to a platform it better be rock solid

    • TimeWalker@lemmy.foxden.party
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      To be fair, they supported two different git backends, one of them being go-git which was the one corrupting repositories. However, it was never enabled by default, you specifically had to build Forgejo with a specific tag to instead use that as the backend. If you just built normally or pulled ready-made containers or bins then it was always the default git backend.

  • addie@feddit.uk
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    Ah, nice. Had been experimenting with using my Raspberry Pi 3B as my home Git server for all my personal projects - easy sync between my laptop and desktop, and another backup for the the stuff that I’d been working on.

    Tried running Gitea on it to start with, but it’s a bit too heavy for a device like that. Forgejo runs perfectly, and has almost exactly the same, “very Github inspired” interface. Time to run some updates…

    • qaz@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 months ago

      It’s interesting that Forgejo ran better than Gitea considering it’s a fork.

      • addie@feddit.uk
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        Yeah. Doesn’t take much optimising of disk writes to make things run much better on a Pi; they’re quite capable machines as long as disk i/o isn’t your limiting factor. Presumably the devs have been doing some tidying up.

    • Mathieu@beehaw.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 months ago

      I’m not sure it makes much sense that gitea is a bit too heavy, but forgejo (a fork of gitea) runs perfectly. But forgejo appears to have more developments momentum as a project and so you probably landed on the right choice anyway. 🙂

    • nef@slrpnk.net
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Do you use it for anything other than syncing code? Currently I’m using plain SSH sync for all my personal git repos, and I’m not sure if there’d be any advantage in switching to Forgejo.

      • addie@feddit.uk
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        My workplace is a strictly BitBucket shop, was interested in expanding my skillset a little, experiment with different workflows. Was using it as a fancy ‘todo’ list - you can raise tickets in various categories - to remind myself what I was wanting to do next in the game I was writing. It’s a bit easier to compare diffs and things in a browser when you’ve been working on several machines in different libraries than it is in the CLI.

        Short answer: bit of timesaving and nice-to-haves, but nothing that you can’t do with the command line and ssh. But it’s free, so there’s no downside.