Skip to content

Gogs

A simple, self-hosted Git service you run on your own server.

Stars
47.9k
Forks
5.1k
Licence
MIT
Language
Go
Last update
5 days ago
Type
App

What it is

Gogs is a web application that lets you host your own Git repositories, similar in spirit to GitHub, on a server you control. It includes features like issues, pull requests, a wiki, and user management. It is written in Go and is designed to be lightweight enough to run on small machines such as a Raspberry Pi.

  • Host private repositories for a small team on a low-cost server
  • Mirror and migrate repositories from other code hosts
  • Run issues, pull requests, and wiki pages for internal projects
  • Receive webhooks to Slack, Discord, or Dingtalk when repositories change

Great for

  • Small teams that want a private Git server on their own hardware
  • Hobbyists running a home server or Raspberry Pi
  • People who want to avoid hosting code on a third-party platform
  • Teams that want to use SQLite, MySQL, or PostgreSQL as the backend

Not ideal for

  • Users who need a fully managed hosted service, since you must install and maintain it yourself
  • Large organizations with very large teams, because the README only gives baseline sizing for teamwork and says to add CPU as teams grow
  • Anyone needing a complete GitHub API replacement, since the README describes API support only as experimental
Step-by-step guide: how to use GogsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    Clone the repository

    git clone https://github.com/gogs/gogs.git
  2. 2

    Run it

    • Follow the official installation guide at gogs.io/getting-started/installation
    • Choose a database backend (SQLite, MySQL, MariaDB, or PostgreSQL)
    • Start the Gogs service and open its web interface in a browser
    • Create an admin account and your first repository
  3. 3

    Get the most out of it

    • Use SSH, HTTP, or HTTPS to access repositories, as listed in the features
    • Enable webhooks to Slack, Discord, or Dingtalk for notifications
    • Configure authentication via SMTP, LDAP, reverse proxy, or GitHub with 2FA
    • Customize HTML templates and static files if you need a branded look

Downloads

Strengths

  • Designed to be simple to set up, with a single binary distribution across many platforms
  • Low resource needs, per the README's hardware section
  • Supports several databases and multiple login methods, including LDAP and GitHub

Trade-offs

  • Experimental API support, according to the README
  • Installation is delegated to an external guide, so the README alone gives little setup detail
  • Browser support and some details are referenced to other documentation rather than stated here

How it compares

ProjectStarsTypeLevelUpdatedBest for
gogs (this)47.9kAppintermediate5 days agoSmall teams that want a private Git server on their own hardware
gitea58.8kAppintermediate4 days agoTeams that want to host their own code instead of using a public cloud service
usql10.2kCLIbeginner4 days agoDevelopers who use several different databases and want one tool for all of them
dokku32.2kAppintermediate4 days agoDevelopers who want Heroku-style deployment on a server they control
dockge24.7kAppbeginner14 days agoPeople who run Docker Compose stacks on a home server or small Linux machine
knex20.3kLibraryintermediate4 months agoNode.js developers who need to talk to a SQL database from application code

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.