Skip to content

What Codebahn adds to Forgejo

Codebahn runs Forgejo with a managed layer on top. This page lists what that layer abstracts, what it adds, and what it changes. For stock Forgejo features (repositories, the API, user admin, Actions syntax), see the upstream docs.

You pick a runner size in runs-on, we provision an isolated, ephemeral VM on Scaleway in Paris. No runner binary to install, no Docker host to manage, no registration tokens for the common case. Jobs start in about 40 seconds cold, 2 seconds warm. Bring your own runner alongside ours if you want different hardware.

See CI runners for sizes, the pre-cached toolchain, and bring-your-own setup.

Workflow files in .codebahn/workflows/, .forgejo/workflows/, .gitea/workflows/, and .github/workflows/ are all read and merged, so GitHub workflows run without renaming the directory. The runner image follows the GitHub Actions layout with pre-cached Go and Node toolchains in the GitHub-style toolcache, so actions/setup-go and actions/setup-node resolve offline. New commits to the same branch auto-cancel in-progress runs on that branch.

See Workflow directories for precedence and de-duplication, and CI runners for the image contents.

A callback-driven environment system turns PaaS webhooks into commit statuses and PR comments. Create an environment, paste the callback URL into your provider’s webhook settings, and deploy results appear on the commit and pull request. Supports Vercel, Netlify, Render, Railway, Cloudflare Pages, and a generic format.

See Environments for the callback format and provider notes.

The built-in OCI container registry lives at your instance host. In CI, ${{ github.token }} authenticates automatically, so you push images without creating or storing a PAT. Every image is private; there is no public or anonymous pull.

See Container registry for image naming, storage quota, and cleanup rules.

A single binary (codebahn) serves as both an MCP server for AI assistants and a command-line tool for humans. It exposes 51 tools covering repos, branches, issues, pull requests (including reviews), and CI. Works with Claude Code, Cursor, and VS Code.

See Connect an AI assistant for client setup and Command-line tool for terminal usage.

Codebahn changes a few Forgejo defaults to match the product’s stance:

  • Private-only repositories. No public repos, no anonymous pull. Every image in the container registry is private. Tenant data is never browsable without auth.
  • Workflow directory merging. Enabled by default. Upstream Forgejo reads only the first directory found; Codebahn reads all four and merges.
  • Auto-cancel on same-branch push. A new commit to a branch cancels in-progress runs on that branch. Override with a concurrency block.

Everything not listed above is stock Forgejo: repository management, the REST API, OAuth providers, package formats beyond OCI, wiki, projects, and admin. We link to the upstream docs and do not re-document it.