Theory

Updated

October 30, 2026

Theory: A Single Binary is an Architectural Statement

Gitea/Forgejo keep Git hosting in one Go process, SQLite-capable. That is a complexity budget. The Forgejo fork is a governance and license theory, not a protocol fork.

Invariants

  1. SQLite + local disk is enough until it is not (locking, size).
  2. Actions-compatible CI is optional, not the product core. The runner is a second process.
  3. Codeberg is Forgejo-as-a-service with community ops (chapter 29).
  4. The Forgejo fork did not change the Git protocol. A remote is still SSH or HTTP.
one binary ──► git repos on disk
            ──► SQLite/Postgres
            ──► optional runners

What can break

  • Expecting GitLab-class HA from a hobby compose file.
  • Treating a current Gitea database as a drop-in for current Forgejo. The hard fork ended that promise.

How to read this chapter

Origins, fork, comparison, scale, two labs, when it fits.