Forgejo v9.0 released

petsoi@discuss.tchncs.de to Linux@lemmy.ml – 309 points –
Forgejo v9.0 is available
forgejo.org

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.

56

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.

Yes it is, federation work is ongoing. I think stars are in beta.

very exciting indeed. can't wait to try it out when federated tickets and PRs are a thing.

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.

ofc I do, that is why I explicitly mentioned the features I was talking about...

Federated in this case means Fediverse integration.

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

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.

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

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

I followed the directions and it worked. No issues and no regret.

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!

This gives me a confidence boost. I don't have too many repos too. Thank you.

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.

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.

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

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

I don't know how to read the phonetics but they're going for forĝejo which is for-jey-o, so I'd imagine that's how it's pronounced.

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

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

Just FYI forgejo does have federation, but it's disabled by default. No idea how good/stable/complete it is... https://forgejo.org/docs/latest/admin/config-cheat-sheet/#federation-federation

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)

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.

Is there a good summary of Gitea/Forgejo background somewhere?

Forgejo started as a fork when Gitea became a commercial company with unknown intentions

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

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.

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...

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

it was forked a while ago now though so the code bases can be quite different.

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.

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

Only a master of Evil, Darth.

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. 🙂

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.

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.