Gogs is a painless self-hosted Git service.

Guy Smoilov 5702e4bc24 pkg/mailer: support plaintext alt for HTML emails (#5568) 3 weeks ago
.github fe9a5d3159 .github: adjust issue templates 1 month ago
cmd f545faa06d templates: make state changing routes to POST method (#5541) 1 month ago
conf 5702e4bc24 pkg/mailer: support plaintext alt for HTML emails (#5568) 3 weeks ago
docker 044d359a7e docker: grammar fix (#5492) 2 months ago
models 9b37b1569c models/repo_editor: add isRepositoryGitPath to detect invalid file path (#5558) 3 weeks ago
packager 3c0d162961 packager: update files (#4181) 1 year ago
pkg 5702e4bc24 pkg/mailer: support plaintext alt for HTML emails (#5568) 3 weeks ago
public 9ff2df78f0 public/css: make less (#5317) 3 weeks ago
routes 657ea2686f auth: coding style and glitches fixes for GitHub login source (#5340) 4 weeks ago
scripts 3c227af508 scripts: add NoNewPrivileges=true to systemd unit file (#5381) 5 months ago
templates 9ff2df78f0 public/css: make less (#5317) 3 weeks ago
vendor e2ce6a0dab vendor: update github.com/go-sql-driver/mysql 3 weeks ago
.bra.toml 3a6623104f Makefile: correct errors 1 year ago
.codebeatignore aa1fc30b89 Add .mailmap 2 years ago
.codebeatsettings 87954dbfeb Adjust .codebeatsettings 2 years ago
.dockerignore cc95d251d6 docker: add new Dockerfile.docker-ce for docker-ce(>=v17.06) to build docker image (#5322) 5 months ago
.editorconfig 79ba0314e9 milestone: only show issue-related count under issue list (#4316) 1 year ago
.gitattributes f439df4441 locale: sync from Crowdin 8 months ago
.gitignore 41a2632ae7 webhook: minor text change on Discord 1 year ago
.mailmap aa1fc30b89 Add .mailmap 2 years ago
.pkgr.yml 679147cd5d pkgr: update spec to build on Debian 9 (Stretch) (#5083) 10 months ago
.travis.yml d4f9fd7204 *: remove Go 1.7 support 3 weeks ago
Dockerfile cc95d251d6 docker: add new Dockerfile.docker-ce for docker-ce(>=v17.06) to build docker image (#5322) 5 months ago
Dockerfile.aarch64 ce7496aec9 docker: allow setting UID and GID when running a container (#4776) 1 year ago
Dockerfile.aarch64hub 3d117b8964 Dockerfile.aarch64hub: install shadow package (#5481) 2 months ago
Dockerfile.rpi ce7496aec9 docker: allow setting UID and GID when running a container (#4776) 1 year ago
Dockerfile.rpihub ce7496aec9 docker: allow setting UID and GID when running a container (#4776) 1 year ago
LICENSE 9f0c571238 Change LICENSE copyright holder name [CI SKIP] 2 years ago
Makefile 091f63fd4e Makefile: only read GOPATH from env var 3 months ago
README.md e9be8016e6 README: add new sponsor 1 month ago
README_ZH.md e9be8016e6 README: add new sponsor 1 month ago
appveyor.yml be6bb5314e ci: update appveyor.yml 1 month ago
gogs.go 9ff2df78f0 public/css: make less (#5317) 3 weeks ago

README.md

Gogs Build Status Build status Crowdin Discord

Current tip version: .VERSION (see Releases for binary versions)
Web UI Preview
Dashboard Repository Editor
Profile Diff Repository Settings
Webhook Organization Admin Dashboard

Important Notes

  1. YOU MUST READ Contributing Code BEFORE STARTING TO WORK ON A PULL REQUEST.
  2. Due to testing purpose, data of try.gogs.io was reset in Jan 28, 2015 and will reset multiple times after. Please do NOT put your important data on the site.
  3. The demo site try.gogs.io is running under develop branch.
  4. If you think there are vulnerabilities in the project, please talk privately to u@gogs.io, and the name you want to be credited as. Thanks!
  5. If you're interested in using APIs, we have experimental support with documentation.
  6. If your team/company is using Gogs and would like to put your logo on our website, contact us by any means.

简体中文

Vision

This project aims to build a simple, stable and extensible self-hosted Git service that can be setup 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.

Overview

Features

  • Activity timeline
  • SSH and HTTP/HTTPS protocols
  • SMTP/LDAP/Reverse proxy authentication
  • Reverse proxy with sub-path
  • Account/Organization/Repository management
  • Add/Remove repository collaborators
  • Repository/Organization webhooks (including Slack and Discord)
  • Repository Git hooks/deploy keys
  • Repository issues, pull requests, wiki and protected branches
  • Migrate and mirror repository and its wiki
  • Web editor for repository files and wiki
  • Jupyter Notebook
  • Two-factor authentication
  • Gravatar and Federated avatar with custom source
  • Mail service
  • Administration panel
  • Supports MySQL, PostgreSQL, SQLite3, MSSQL and TiDB (via MySQL protocol)
  • Multi-language support (29 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 5 ways to install Gogs:

Tutorials

Screencasts

Deploy to Cloud

Software and Service Support

Product Support

Acknowledgments

Contributors

License

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

FOSSA Status