One Go executable for the web UI, repos and SSH
Gogs is a self-hosted Git forge written in Go and MIT-licensed since 2014. A single executable, started with gogs web, runs the web interface and serves repositories over HTTP and HTTPS, with an optional built-in SSH server. Next to it you need Git 1.8.3 or later and a database: SQLite to begin with, then MySQL, MariaDB or PostgreSQL.
Gitea started as a fork of Gogs, and its documentation says almost all of the code has changed since. Forgejo, itself a fork of Gitea, runs Codeberg, the forge operated by a Berlin non-profit. The comparison of forges for hosting Git away from GitHub sets the Gogs release pace against that of its forks.
Low hardware needs and sign-in through LDAP or PAM
- One binary, nothing to assemble: the 0.14.3 archives cover Linux, macOS and Windows on amd64 and arm64, with 386 builds for Linux and Windows. There is a Docker image too.
- Light on hardware: the README says a Raspberry Pi or a $5 DigitalOcean droplet is plenty to get started, and puts the team baseline at 2 CPU cores and 512 MB of RAM. For a much larger team it suggests adding cores; memory use stays low.
- The forge basics: issues, pull requests, wiki, protected branches, deploy keys, Git hooks, Git LFS, a web editor, and rendering of Jupyter notebooks and PDFs.
- Migration and mirroring: repositories can be imported or mirrored from other code hosts, wikis included.
- Company directories: sign-in through LDAP, SMTP, PAM or a reverse-proxy header, and through GitHub.com or GitHub Enterprise according to the README, with two-factor authentication.
No CI or package registry, and releases come in bursts
No CI and no package registry. The project aims for a "simple, stable and extensible" Git service, and its feature list includes neither: for CI, the README points to a Jenkins plugin. The API is labeled experimental, and neither the README nor the authentication page mentions OpenID Connect or a generic OAuth2 provider. Gitea, on the other hand, lists a package registry and CI that reuses GitHub Actions workflows.
Almost two years without a release, then five in under five months. Gogs 0.13.0 came out on February 25, 2023, and 0.13.1 on December 23, 2024. All five releases of the past twelve months shipped between January 23 and June 7, 2026. Version 0.14.0 was pulled because clones hung on the built-in SSH server, and 0.14.1 replaced it three hours later. The latest, 0.14.3, fixes 22 vulnerabilities, one of them remote command execution through a crafted branch name during a rebase merge. Over the same twelve months, Gitea put out eighteen stable releases, up to 28.1.0 on October 6, 2026.
One main maintainer. Of the 225 commits on the main branch in the past twelve months, 157 come from the unknwon account, which has more than 4,000 overall. The most recent commit is dated September 12, 2026: development goes on, with no release since June.
Upgrade one minor version at a time. Gogs only guarantees compatibility between consecutive minor versions, so a 0.12 instance has to go through 0.13 before 0.14, and anything older must reach 0.12 first. Since 0.14.3, an instance that authenticates users through a reverse proxy must also list that proxy's address in [auth] TRUSTED_PROXY_IPS, because the header is no longer trusted from any other address.
The upcoming 0.15 drops the web installer. The changelog of the main branch lists the removal of the /install page, which makes a working custom/conf/app.ini mandatory. The same branch turns off open sign-up by default and removes MSSQL support.
