- cross-posted to:
- foss@beehaw.org
- cross-posted to:
- foss@beehaw.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.
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.
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.
Cool, did you use the built-in CI CD before or after the migration. Any trouble there?
No CI CD, sorry. Just like @JASN_DE@lemmy.world I use it purely to store/archive
Be the change you wish to see in this world.
https://code.forgejo.org/forgejo-integration/runner/src/tag/v2.0.0
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.
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.
4-J-yo
that’s a really good way to remember it, thanks!
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.
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 trustJust 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
oh! last time I checked it was still just a feature request. This is cool, thanks!
I could only find this in the documentation of it, though, so probably it’s being kept quiet for a reason: https://forgejo.org/docs/latest/contributor/federation-architecture/
the state of it can be tracked by looking at these issues and these blog posts
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 of the 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)
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
Well, aren’t you glad they’re removing
go-git
then!The fact that was a thing in the first place scares me enough to not want to use it
For - Jo
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.
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.
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.
So Codeberg uses Forjero? Then I like it already.
As far as I know, they maintain and development forgejo
The original announcement isn’t even very long. Could you not have read it before leaving this comment?
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.
Understandable, thanks for explaining what happened. I do dumb stuff like that too
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)
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.
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.
Forgejo is like a self hosted GitHub. It expands beyond source control to include issue trackers, pull requests, wikis, publishing features and such.
Wait until people learn about mailing lists. It will blow there mind
Is it just another Gitlab clone?
Lighter weight and they have made a lot progress on federation