Gogs - A painless self-hosted Git service
🔮 Vision
The Gogs (/gɑgz/
) 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
- Please visit our home page for user documentation.
- Please refer to CHANGELOG.md for list of changes in each releases.
- Want to try it before doing anything else? Do it online!
- Having trouble? Help yourself with troubleshooting or ask questions on user forum.
- Want to help with localization? Check out the localization documentation.
- Ready to get hands dirty? Read our guide to set up your development environment.
- Hmm... What about APIs? We have experimental support with documentation.
💌 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 30 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:
- Install from binary
- Install from source
- Install from packages
- Ship with Docker
- Install with Vagrant
- Install with Kubernetes Using Helm Charts
Deploy to cloud
Tutorials
- How To Set Up Gogs on Ubuntu 14.04
- Run your own GitHub-like service with the help of Docker
- Dockerized Gogs git server and alpine postgres in 20 minutes or less
- Host Your Own Private GitHub with Gogs
- 使用 Gogs 搭建自己的 Git 服务器 (Chinese)
- 阿里云上 Ubuntu 14.04 64 位安装 Gogs (Chinese)
- Installing Gogs on FreeBSD
- Cloudflare Full SSL with Gogs using NGINX
- How to install Gogs on a Linux Server (DigitalOcean)
📦 Software, service and product support
- Fabric8 (DevOps)
- Jenkins (CI)
- Taiga (Project Management)
- Puppet (IT)
- GitPitch (Markdown Presentations)
- Synology (Docker)
- Syncloud (App Store)
🙇♂️ Acknowledgments
- Thanks Egon Elbre for designing the original version of the logo.
- Thanks Crowdin for sponsoring open source translation plan.
- Thanks DigitalOcean, VPSServer, Hosted.nl, MonoVM and BitLaunch for sponsoring VPS services.
- Thanks KeyCDN for sponsoring CDN service.
- Thanks Buildkite for sponsoring open source CI/CD plan.
👋 Contributors
- See contributors page for top 100 contributors.
- See TRANSLATORS for public list of translators.
⚖️ License
This project is under the MIT License. See the LICENSE file for the full license text.