# Forgejo

> A self-hosted Git forge with issues and pull requests, on the long-term-support line.

Forgejo is a community-run Git forge (a fork of Gitea) with repositories, issues, pull requests, packages and Actions. We download the newest v15 LTS binary from Codeberg, check its signature, and set it up as Forgejo's binary-install guide describes: a git user, SQLite in /var/lib/forgejo, the web interface on 127.0.0.1:3000 and Git over the server's own SSH.

## Details

- Installs on: Ubuntu and Debian; AlmaLinux, Rocky Linux and Fedora
- Smallest plan: Budget (1 vCPU, 2 GB RAM)
- Public ports: 80/tcp, 443/tcp
- Project site: https://forgejo.org/

## After the server is ready

1. Run `cat /root/forgejo-admin.txt` for the owner account's password.
2. From your computer, run `ssh -L 3000:127.0.0.1:3000 root@<your IPv4>`, open `http://localhost:3000`, log in as owner and set your real email in Settings.
3. Point a domain at the server, allow ports 80 and 443 in the panel firewall, and run `vps9-https git.example.com`.
4. Add your SSH key in Settings, SSH / GPG keys, then push to `git@git.example.com:owner/<repo>.git`.

## Questions

### Why Forgejo and not Gitea?

They share most of their code and both are good choices. We picked Forgejo for its long-term-support releases (fewer forced upgrades on a server you look after yourself), its stewardship by the non-profit Codeberg e.V., and because Codeberg runs it for a large public community. Gitea is MIT-licensed with commercial backing; Forgejo is GPL-licensed since version 9.

### Can I run CI with Forgejo Actions?

Yes. Forgejo Actions uses workflows much like GitHub Actions, but jobs run on a separate Forgejo Runner that you install, ideally on another server or at least in containers. Turn Actions on for each repository that needs it.

### Can I bring my repositories from GitHub?

Yes. New Migration imports a repository with its issues, pull requests, labels, milestones and releases from GitHub, GitLab and others, using an access token from the old host.

## Order it

Pick Forgejo in the order form, or use `"app": "forgejo"` in the API or `vps9 servers create --app forgejo`. See [all one-click apps](https://vpsnine.com/apps) and [plans](https://vpsnine.com/plans).
