2026-11-11: CodeFloe will (soon) run on Arbinel, our Forgejo soft-fork

On 2026-11-13, CodeFloe switches to Arbinel.
Arbinel is the software behind codefloe.com from now on.
This post explains what Arbinel is and what this switch means moving forward.

tl;dr you don’t need to do anything.
Your repositories, issues, CI, packages and settings all stay where they are.
Your tools keep working.
CodeFloe will still run Forgejo.

What is Arbinel?

Arbinel is a (soft) fork of Forgejo.
It is Forgejo, plus the extra features a big public instance like CodeFloe needs.

CodeFloe has not run plain Forgejo for a long time.
We have been running our own fork, forgejo-codefloe, since the beginning.
Things like CI minute quotas, CodeFloe Pages, the Tide theme, the repository switcher and the page search all came from that code base.

Arbinel is that same fork, just put into it’s own space:

  • It has its own name, so nobody mixes it up with Forgejo.
  • It has its own version numbers and a public changelog.
  • It is a real project that anyone can use and contribute to, not just “CodeFloe’s patches”.

The repo is at codefloe.com/arbinel/arbinel.

What changes for you

Not much.
Some things you may notice:

  • The version in the footer says Arbinel instead of Forgejo (including the Forgejo compat version).
  • New features land faster. Recent ones include live updates on issues and pull requests (no more reloading to see if CI passed) and a single Inbox page for issues, pull requests and notifications.
  • Bug reports for CodeFloe features go to the Arbinel issue tracker.

During the switch, codefloe.com is offline for a few minutes.
We set aside 15 minutes to be safe.
If you push or open a page in that time, just try again a moment later.

Your questions

We understand that a change like this can feel worrying.
Therefore we want to answer a few questions right away:

“So CodeFloe isn’t running ‘official’ Forgejo anymore?”

That’s right, and to be fair, we didn’t ever do so.
We ran a fork before, and we run a fork now.
The difference is that the fork now has a clear name and clear rules.

We are not part of the Forgejo project (and no Forgejo devs anymore), and Forgejo does not endorse Arbinel, because it makes use of LLMs.

“Are you leaving Forgejo behind?”

No.
Arbinel follows every Forgejo release:

  • We merge Forgejo’s latest changes into Arbinel, usually once per week.
  • When Forgejo ships a security fix, we merge it as soon as we can.
  • Every Arbinel release says which Forgejo version it is based on.

All the work the Forgejo team does still reaches you.

“Am I locked in now?”

No.
This is a promise in Arbinel’s rules, not just a goal: Arbinel stays fully compatible with Forgejo in both directions.

  • Your data stays in Forgejo’s normal format.
  • The API, Git, SSH and package registries work exactly like in Forgejo.
  • You can move your repositories to any Forgejo instance, or any other forge, the same way you could before.

Even CodeFloe itself could switch back to plain Forgejo without losing any data.
Only the extra Arbinel features would stop working.

“Will my tools and integrations break?”

They shouldn’t.
Arbinel only adds new things.
It never removes or changes how Forgejo’s API, settings or commands behave.

It even reports the Forgejo version through the API, so tools that check the version see what they expect.
That includes tea, fj, Forgejo runners, Crow CI, Renovate and editor plugins.

If something does break, that’s a bug on our side.
Please tell us.

“Why fork at all? Why not add these features to Forgejo?”

Forgejo is a great project, and Arbinel would not exist without it.
But Forgejo is built to work well for primarily for small-medium sized private instances, e.g: small home servers, companies, schools.
CodeFloe is a large public service with special needs:

  • Running at scale: several servers, failover, usage quotas, add-ons. Most Forgejo installs never need these, so it makes sense that they are not in Forgejo.
  • Speed: we can try out interface ideas and ship them quickly. Some of them are a matter of taste and would not fit Forgejo.
  • LLMs: Forgejo does not want LLM contributions. We respect that but don’t wanna limit ourselves.

“Arbinel accepts AI-written code. Is that safe?”

Yes, Arbinel accepts code written with the help of AI tools.

Here is what that means in practice:

  • Every change is reviewed by a person before it goes in, the same as any other change.
  • The author should ideally understand most of the code and be able to explain it.
  • Changes must come with tests.
  • Contributors have to say when they used AI.

How the code was written does not lower the bar. How it went in and treated beforehand matters.

“Can I see all the code CodeFloe runs?”

Yes.
CodeFloe runs Arbinel exactly as it is published.
There are no secret or CodeFloe-only features.
The only things that differ are settings, like which features are switched on.

Arbinel uses the AGPL licence.
In simple terms: anyone who runs a changed version of Arbinel as a service must share their source code with their users.
That includes us.
It also means a big company can’t take Arbinel, build a closed hosting service on it, and give nothing back.

“Does this change prices, limits or the terms?”

No.
Arbinel is the FOSS behind CodeFloe. CodeFloe is the public instance and it’s ToU are not affected by changes in Arbinel.

“Can I run Arbinel myself?”

Yes.
Arbinel is open source and free to self-host.
All its extra server features are off by default, so it behaves very close to Forgejo until you switch them on.

“Can I help?”

Please do!
You don’t need to be part of CodeFloe to contribute.
Bug reports, ideas and code are all welcome at codefloe.com/arbinel/arbinel.

Thank you

A big thank you to the Forgejo team and everyone who contributes to Forgejo. We’ve enjoyed contributing ourselves in the past.
CodeFloe exists because of the work of many Forgejo contributors in the past and their work continues to come to Arbinel users with every upstream merge.

9 Likes

Wasn’t worried at all, on the contrary. You’ve been doing a great job and this announcement only means more improvements and more control from you and the community on the platform. Hope to find time to help with some PRs at some point. Good luck with the new project!

2 Likes

But Forgejo is built to work well for primarily for small-medium sized private instances, e.g: small home servers, companies, schools.

Ehm, https://codeberg.org ? Wouldn’t they be willing to cooperate on your improvements?

No, they (at least a few of their representative members) don’t like what CF does in may ways. There’s a lot of history, it’s better to leave it there.

CB is the only exception for this statement of ours and in our view they don’t really push to improve availability and performance of their instance or FJ in general. After all, almost no (substantial) improvements were done in CB or FJ since both projects exist. Hence, this statement holds true in our view.

Yet, this thread is not the place to discuss all of this in further detail. If you want to continue this topic, please open a separate thread, thank you! :slightly_smiling_face:

OK, I see. Then the only thing is to plead some kind of collaboration with Gitea. It would be really better for everybody if there was just one API working for all three platforms. I understand that collaboration with the crowd around Foregejo/Codeberg may be complicated (that’s the reason why most people are here after all), but it is really nice that Gitea/Forgejo/Codefloe API could be treated as “one of the big three” by many applications. E.g., I just helped a bit with Linux packaging of T3 Code, which quite naturally supports it as well (but only through tea and soon gt app, [Feature]: Support gt, the new official Gitea CLI that replaces the archived tea · Issue #27210 · pingdotgg/t3code · GitHub).