Gogs is a painless self-hosted Git service.

Unknwon c64b842df9 templates: able to inject content to head and footer (#1286) 2 years ago
.github 039dc33367 git: delegate all server-side Git hooks (#1623) 2 years ago
cmd 6072e9a52c repo: add protect branch whitelist (#4177) 2 years ago
conf 10b93efc4a repo: able to add organization member as repository collaborator 2 years ago
docker 1841316f18 Provide an updated Dockerfile where Gogs is build with Go 1.8 (#4151) 2 years ago
models 10b93efc4a repo: able to add organization member as repository collaborator 2 years ago
modules 10b93efc4a repo: able to add organization member as repository collaborator 2 years ago
packager 3c0d162961 packager: update files (#4181) 2 years ago
public 27c4252548 dashboard: fix commits CSS 2 years ago
routers 10b93efc4a repo: able to add organization member as repository collaborator 2 years ago
scripts 3137665e6e Simplify description 2 years ago
templates c64b842df9 templates: able to inject content to head and footer (#1286) 2 years ago
vendor 6ec859f2b0 webhook: send secret with SHA256 HMAC hex digest (#3692) 2 years ago
.bra.toml 2625193a48 models/repo_editor: improve code quality 3 years ago
.codebeatignore aa1fc30b89 Add .mailmap 3 years ago
.codebeatsettings 87954dbfeb Adjust .codebeatsettings 3 years ago
.dockerignore bcd4adb3a0 Update docker/build.sh script to use glide & make (#3079) 3 years ago
.editorconfig 8516dfcb6c #2018 able to sync now for mirrors 3 years ago
.gitattributes 0cfcaca351 conf: minor comments fix 2 years ago
.gitignore 41a2632ae7 webhook: minor text change on Discord 2 years ago
.gopmfile 437df04d8c Prepare release 2 years ago
.mailmap aa1fc30b89 Add .mailmap 3 years ago
.pkgr.yml 3c0d162961 packager: update files (#4181) 2 years ago
.travis.yml 9c3c9a8eb9 Update CI settings 2 years ago
Dockerfile 1841316f18 Provide an updated Dockerfile where Gogs is build with Go 1.8 (#4151) 2 years ago
Dockerfile.aarch64 4e967bc765 Dockerfile for aarch64 (odroid c2 & pine64) (#4018) 2 years ago
Dockerfile.rpi ec05c64ead docker: update Dockerfile for Raspberry Pi (#4185) 2 years ago
LICENSE 9f0c571238 Change LICENSE copyright holder name [CI SKIP] 3 years ago
Makefile 3b49a99b60 wiki: fix crash with blob name contains tab (#3916) 2 years ago
README.md bd970b8b27 webhook: only trigger specific webhook for test delivery (#3030) 2 years ago
README_ZH.md c4fdc26fa5 migration: drop 0.6.x support 2 years ago
appveyor.yml 9c3c9a8eb9 Update CI settings 2 years ago
gogs.go 10b93efc4a repo: able to add organization member as repository collaborator 2 years ago

README.md

Gogs Build Status Build status Crowdin Sourcegraph Gitter

Current tip version: .VERSION (see Releases for binary versions)
Web UI Preview
Dashboard Repository Commits History
Profile Admin Dashboard Diff
Issues Releases Organization

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. 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.

简体中文

Purpose

The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, 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
  • Gravatar and Federated avatar with custom source
  • Mail service
  • Administration panel
  • Supports MySQL, PostgreSQL, SQLite3, MSSQL and TiDB (experimental)
  • Multi-language support (23 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

  • Router and middleware mechanism of Macaron.
  • System Monitor Status is inspired by GoBlog.
  • Thanks Egon Elbre for designing logo.
  • Thanks Crowdin for providing open source translation plan.
  • Thanks DigitalOcean for hosting home and demo sites.
  • Thanks KeyCDN and QiNiu for providing CDN service.

Contributors

License

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