Gogs (Go Git Service) is a painless self-hosted Git service. https://gogs.io

Joe Chen 403e1fb219 Fix test 1 anno fa
.github 10fd9e9e38 db: migrate `org.go` to `orgs.go` with GORM 1 anno fa
.packager 0b86aa5d29 pkgr: update heroku-buildpack to latest (#5957) 4 anni fa
conf 0c7b45ad1f locale: sync from Crowdin (#7621) 1 anno fa
docker 6133415f6d mod: bump gorm.io/driver/postgres from 1.4.5 to 1.4.6 (#7299) 1 anno fa
docs 10fd9e9e38 db: migrate `org.go` to `orgs.go` with GORM 1 anno fa
internal 403e1fb219 Fix test 1 anno fa
public d0a4a3401c refactor(db): migrate avatar methods off `user.go` (#7206) 2 anni fa
scripts 16aded2743 systemd: add `mysql.service` to "After" (#7300) 1 anno fa
templates 069f1ed9a4 db: migrate `admin.go` to `notices.go` with GORM (#7536) 1 anno fa
.deepsource.toml 2e19f5a3c8 db: add tests for authentication through login sources (#7049) 2 anni fa
.dockerignore d7bda9ac0e build: remove Makefile and update Docker build steps (#6980) 2 anni fa
.editorconfig 434f1ec542 all: clean up dot files (#5983) 4 anni fa
.gitattributes d8fa08111b chore: fix linguist-vendored with double asterisks (#6563) 3 anni fa
.gitignore 5f34265db6 ci: run database tests against Postgres, MySQL and SQLite (#6996) 2 anni fa
.golangci.yml 8982a42d38 refactor(db): move `User.HasForkedRepository` to `users.HasForkedRepository` (#7176) 2 anni fa
.mailmap acf2df3688 mailmap: update replacements 2 anni fa
.pkgr.yml 75767078aa pkgr: remove debian-9 (#7472) 1 anno fa
CHANGELOG.md 16b185f97d build: remove support of Go 1.18 and 1.19 (#7590) 1 anno fa
Dockerfile 9df10cb8cc docker: upgrade base images to alpine:3.17 (#7043) 1 anno fa
LICENSE 9f0c571238 Change LICENSE copyright holder name [CI SKIP] 8 anni fa
README.md 7c453d5b36 README: update sponsor link (#7340) 1 anno fa
README_ZH.md a8e43f63a1 locale: sync from Crowdin (#7082) 2 anni fa
SECURITY.md 61940ca879 chore: update security policy 1 anno fa
Taskfile.yml c502dc6ed8 refactor(db): move some methods from `user.go` to `users.go` (#7195) 2 anni fa
codecov.yml 63cb76106a chore: fix typo in codecov.yml (#7047) 2 anni fa
gen.go 5483d97f73 gitutil: strip SSH port from submodule URL when rendering for HTML link (#7383) 1 anno fa
go.mod b49e4a4089 fixup 1 anno fa
go.sum 5293781c0d mod: bump golang.org/x/net from 0.17.0 to 0.19.0 (#7609) 1 anno fa
gogs.go a98968436c chore: bump dev version to 0.14 (#7375) 1 anno fa
mockgen.yaml 371c56e306 fixup 1 anno fa

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, including PostgreSQL, MySQL, SQLite3 and TiDB.
  • 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

👋 Contributors

⚖️ License

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