Gogs is a painless self-hosted Git service

Joe Chen 00bd6081a5 chore: minor fixup on README (#7866) 5 mesiacov pred
.github 7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863) 5 mesiacov pred
.packager 0b86aa5d29 pkgr: update heroku-buildpack to latest (#5957) 5 rokov pred
conf 740eba4f70 session: support TLS for Redis provider (#7860) 5 mesiacov pred
docker 7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863) 5 mesiacov pred
docs 16b185f97d build: remove support of Go 1.18 and 1.19 (#7590) 1 rok pred
internal 9a9388ace2 api: clean file path for updating repo contents (#7859) 5 mesiacov pred
public f4a78e5cfb chore: update version of mermaid to 10.9.1 (#7760) 1 rok pred
scripts 6f9b63517d fix(systemd script): define RestartSec as 2 (#7733) 1 rok pred
templates e6d4db0b4c Fix spacing if BuildTime is missing. (#7800) 8 mesiacov pred
.deepsource.toml 2e19f5a3c8 db: add tests for authentication through login sources (#7049) 3 rokov pred
.dockerignore d7bda9ac0e build: remove Makefile and update Docker build steps (#6980) 3 rokov pred
.editorconfig 015589cdd9 fix(.editorconfig): remove setting end_of_line and make Git track EOL changes on Windows (#7725) 1 rok pred
.gitattributes d8fa08111b chore: fix linguist-vendored with double asterisks (#6563) 4 rokov pred
.gitignore 5f34265db6 ci: run database tests against Postgres, MySQL and SQLite (#6996) 3 rokov pred
.golangci.yml 9108970e45 mod: bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#7792) 9 mesiacov pred
.mailmap acf2df3688 mailmap: update replacements 3 rokov pred
.pkgr.yml 3616bc03c9 packager: use centos-9 and debian-12 (#7668) 1 rok pred
CHANGELOG.md 5326b4113a chore: update minimum Go version to 1.23.4 (#7865) 5 mesiacov pred
Dockerfile 7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863) 5 mesiacov pred
LICENSE 9f0c571238 Change LICENSE copyright holder name [CI SKIP] 8 rokov pred
README.md 00bd6081a5 chore: minor fixup on README (#7866) 5 mesiacov pred
README_ZH.md cd3f132844 README: update sponsor list (#7661) 1 rok pred
SECURITY.md c5dff8cdad chore: update vulnerability report and patch policy 5 mesiacov pred
Taskfile.yml 3650b32ec5 chore: rename `internal/db` to `internal/database` (#7665) 1 rok pred
codecov.yml 63cb76106a chore: fix typo in codecov.yml (#7047) 3 rokov pred
gen.go fa84482d98 chore: upgrade go-mockgen for 1.22 (#7683) 1 rok pred
go.mod 5326b4113a chore: update minimum Go version to 1.23.4 (#7865) 5 mesiacov pred
go.sum 7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863) 5 mesiacov pred
gogs.go a98968436c chore: bump dev version to 0.14 (#7375) 2 rokov pred
mockgen.yaml d9ecdcaef0 all: unwrap `database.UsersStore` interface (#7708) 1 rok pred
trivy.yaml 7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863) 5 mesiacov pred

README.md

gogs-brand

GitHub Workflow Status Discord Sourcegraph

简体中文

🔮 Vision

The Gogs (/gɑgz/) project aims to build a simple, stable and extensible self-hosted Git service that can be set up in the most painless way. With Go, this can be done with an independent binary distribution across all platforms that Go supports, including Linux, macOS, Windows and ARM-based systems.

📡 Overview

💌 Features

  • User dashboard, user profile and activity timeline.
  • Access repositories via SSH, HTTP and HTTPS protocols.
  • User, organization and repository management.
  • Repository and organization webhooks, including Slack, Discord and Dingtalk.
  • Repository Git hooks, deploy keys and Git LFS.
  • Repository issues, pull requests, wiki, protected branches and collaboration.
  • Migrate and mirror repositories with wiki from other code hosts.
  • Web editor for quick editing repository files and wiki.
  • Jupyter Notebook and PDF rendering.
  • Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA.
  • Customize HTML templates, static files and many others.
  • Rich database backend support, including PostgreSQL, MySQL, SQLite3 or any database backend that speaks one of those protocols.
  • Have localization over 31 languages.

💾 Hardware requirements

  • A Raspberry Pi or $5 Digital Ocean Droplet is more than enough to get you started. Some even use 64MB RAM Docker CaaS.
  • 2 CPU cores and 512MB RAM would be the baseline for teamwork.
  • Increase CPU cores when your team size gets significantly larger, memory footprint remains low.

💻 Browser support

  • Please see Semantic UI for specific versions of supported browsers.
  • The smallest resolution officially supported is 1024*768, however the UI may still look right in smaller resolutions, but no promises or fixes.

📜 Installation

Make sure you install the prerequisites first.

There are 6 ways to install Gogs:

Deploy to cloud

Tutorials

📦 Software, service and product support

🙇‍♂️ Acknowledgments

This project is proudly supported by:

Other acknowledgments:

  • Thanks Egon Elbre for designing the original version of the logo.
  • Thanks Crowdin for sponsoring open source translation plan.
  • Thanks MonoVM for sponsoring VPS services.
  • Thanks Buildkite for sponsoring open source CI/CD plan.

👋 Contributors

⚖️ License

This project is under the MIT License. See the LICENSE file for the full license text.