{
  "manifest_version": "1",
  "slug": "forgejo",
  "title": "Forgejo",
  "headline": "Forgejo",
  "description": "Forgejo is a lightweight, self-hosted Git forge and a community fork of Gitea.",
  "category": "dev-tools",
  "tags": [
    "git server",
    "git forge",
    "github mirror",
    "self-hosted git"
  ],
  "url": "https://exe.dev/deploy/forgejo",
  "markdown_url": "https://exe-staging.dev/deploy/forgejo.md",
  "upstream": {
    "website": "https://forgejo.org",
    "source": "https://codeberg.org/forgejo/forgejo",
    "license": "GPL-3.0-or-later"
  },
  "example_vm_name": "my-forgejo",
  "stack": [
    {
      "name": "Forgejo",
      "detail": "The Forgejo binary, managed by systemd",
      "port": 3000,
      "data": "/var/lib/forgejo"
    },
    {
      "name": "nginx",
      "detail": "Translates the exe.dev headers into the names Forgejo expects",
      "port": 8000
    }
  ],
  "access": [
    {
      "url": "https://my-forgejo.exe.xyz/",
      "who": "private",
      "what": "Forgejo, for you and anyone you [share](/docs/sharing) the VM with"
    }
  ],
  "delivers": [
    "Forgejo behind exe.dev's [HTTPS proxy](/docs/proxy), on port 8000",
    "nginx translating `X-ExeDev-UserID` and `X-ExeDev-Email` into `X-WEBAUTH-USER` and `X-WEBAUTH-EMAIL`",
    "Auto-registration, so any exe.dev user you share the VM with gets a Forgejo account the first time they visit"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe-staging.dev/new?idea=forgejo",
    "terminal": "curl -fsSL https://exe-staging.dev/deploy/forgejo/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Forgejo on this VM by following the exe.dev recipe at https://exe-staging.dev/deploy/forgejo.md from top to bottom.\n\nThe recipe's example VM name is my-forgejo. This VM's name is the output of `hostname`: use it wherever the recipe writes my-forgejo. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Forgejo behind exe.dev's [HTTPS proxy](/docs/proxy), on port 8000\n- nginx translating `X-ExeDev-UserID` and `X-ExeDev-Email` into `X-WEBAUTH-USER` and `X-WEBAUTH-EMAIL`\n- Auto-registration, so any exe.dev user you share the VM with gets a Forgejo account the first time they visit\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe-staging.dev/deploy/forgejo/prompt.txt"
  },
  "updated": "2026-10-17",
  "related": [
    "gitea",
    "code-server",
    "dev-test-prod",
    "github-actions-runner",
    "marimo",
    "n8n"
  ],
  "alternatives": [
    "GitHub",
    "Gitea"
  ]
}
