It's a huge contrast to Codeberg, which struggles with basic navigation of the web UI and every git push or pull takes 2-10s.
It's a huge contrast to Codeberg, which struggles with basic navigation of the web UI and every git push or pull takes 2-10s.
I don't mean to be negative, but that's probably because it's pretty much the same thing. Codefloe is tiny. Some quick counting shows it has a grand total of 1012 registered users, including bots, and 1416 public repositories of which the top 3 with the most stars (I know this is a mostly meaningless metric, but for scale) have 27, 13, and 8. It's too small to run into scaling issues.
Numbers are just one thing, what counts is the effective request traffic. We are just as large as we are and can't do anything about it ;)
The only thing we can influence is to stay fast from day to day, watch our disk and storage and adjust things if needed.
I am quite confident that we can take multiple tens of thousands, if not hundred of thousands of users (with the respective request ratio share of active and dead accounts) with our current hardware stack. We'll see how it goes when we eventually get there.
How does someplace like a GitHub/Gitlab go it? Are user accounts or repos sharded across different servers? Is there a different underlying scaling system? If one wanted to run Forgejo “at scale” what would it really require, or does this need to be factored into the design from day one?
https://nesbitt.io/2026/02/26/git-in-postgres.html
Following another recent theme, the answer for Forgejo seems to be - just use Postgres.