Gogs

Minimal self-hosted Git service

Developer Tools MIT beginner ★ 47,845 stars

What is Gogs?

Gogs is a painless, self-hosted Git service written in Go. It provides repositories, issues, pull requests and wikis while using very little memory, which makes it a good fit for a Raspberry Pi or a small VPS.

Best for

Small setups that need Git hosting on minimal hardware

Why choose Gogs

Gogs is the minimal end of the self-hosted Git spectrum: a small, mature, low-memory Git service that quietly does the essentials — repositories, issues, pull requests, a wiki — and does them on hardware that anything modern would laugh at. It is the right answer when you want a private place for code and nothing else, or when the machine available is genuinely tiny. It has been running on home routers and single-board computers for years, which is a kind of track record.

Replaces

  • GitHub
  • Gitea
  • GitLab

Key features

  • Very low memory footprint
  • Issues, pull requests and wiki
  • Built-in CI
  • Runs on Raspberry Pi

What to watch out for

Development is visibly slower than its own fork, Gitea, and most of the ecosystem energy has moved to that project. Choose Gogs for stability and low resource use, not for new features or integrations. The interface feels dated next to modern hosts, some configuration is done through files rather than the web UI, and the built-in CI story is thin. If collaborating with people who expect a modern experience, this will feel like a step back.

How to deploy

  • Binary
  • Docker
  • Package managers

Getting started

Install the binary and run the setup wizard once via the browser, then disable anything you do not want in the app configuration file. Use SQLite for a personal instance and Postgres if a handful of people will use it — the switch is in the config and worth making early. Put the repositories directory on a volume or disk you will not casually reformat, and take a copy of both it and the database together. Disable open registration immediately after creating your account, and configure the SSH port before handing out clone URLs.

Typical setup

Its natural habitat is genuinely small hardware: a Raspberry Pi, a router with enough storage, an old thin client. A personal installation is one binary, SQLite, and a directory of repositories, and it can run for years without intervention. It is usually reached only from inside the home network or through a VPN, and it is configured once and then largely forgotten — which, for this tool, is the intended outcome.

Who should look elsewhere

Do not pick it for new projects. Gitea is the same lineage, actively developed, and has absorbed most of the ecosystem's energy; choosing Gogs means choosing the slower-moving ancestor. It suits a tiny private instance that will never need to change, not a team expecting modern collaboration features.

Project health

  • GitHub stars: 47,845
  • Last code push: 2026-09-12
  • Open issues: 1,011
  • Status: actively developed

Figures pulled from the GitHub API and refreshed periodically.

Gogs as an alternative

More in Developer Tools