Forgejo
Self-hosted Git forge with exe.dev SSO
Shelley handles the setup.
Prefer a terminal?
curl -fsSL https://exe.dev/deploy/forgejo/prompt.txt | ssh exe.dev new --prompt=/dev/stdinRun Forgejo on an exe.dev VM.
Forgejo is a lightweight, self-hosted Git forge and a community fork of Gitea. It works well as a private Git server, a team forge, or a mirror for GitHub repositories.
What you get#
- Forgejo behind exe.dev's HTTPS proxy, on port 8000
- nginx translating
X-ExeDev-UserIDandX-ExeDev-EmailintoX-WEBAUTH-USERandX-WEBAUTH-EMAIL - Auto-registration, so any exe.dev user you share the VM with gets a Forgejo account the first time they visit
What's running, and where
Deploy with Shelley#
Click Deploy and Shelley will set up Forgejo on a new VM, then check that it works. No config-file wrangling required.
Prefer a terminal?
curl -fsSL \
https://exe.dev/deploy/forgejo/prompt.txt \
| ssh exe.dev new --prompt=/dev/stdinWhat Shelley is told
Set up Forgejo on this VM by following the exe.dev recipe at https://exe.dev/deploy/forgejo.md from top to bottom.
The 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.
You are done when all of these are true. Check each one yourself:
- 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
Finish with the URLs I should open.
Also at /deploy/forgejo/prompt.txt. The recipe it follows is /deploy/forgejo.md.
Quick start#
Create a new Forgejo VM from the Forgejo starter.
How it works#
exe.dev's HTTPS proxy handles TLS and forwards requests to port 8000 on your VM.
For authenticated users, exe.dev adds the X-ExeDev-UserID and X-ExeDev-Email headers. See Login with exe.dev for details.
Forgejo can use reverse proxy authentication with X-WEBAUTH-USER and X-WEBAUTH-EMAIL. nginx translates the exe.dev headers into the names Forgejo expects.
With auto-registration enabled, any exe.dev user you share the VM with gets a Forgejo account the first time they visit.
Mirroring from GitHub#
Forgejo can mirror repositories from GitHub.
In the Forgejo UI, choose New Migration, then GitHub. Enter the repository URL and a personal access token with read access. Forgejo will clone the repo and keep it in sync.
For private repos, use a fine-grained GitHub PAT with read-only Contents permission for the repos you want to mirror.
Forgejo vs Gitea#
Forgejo and Gitea are very similar on exe.dev.
Forgejo is a community fork of Gitea. Both use the same config format, the same reverse proxy auth flow, and the same basic setup. Pick the project you prefer.
Updated Oct 17, 2026 · Markdown · manifest.json · Something wrong? Tell us