Gogs 是一款极易搭建的轻量级自助 Git 服务。

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

功能特性

  • 支持活动时间线
  • 支持 SSH 以及 HTTP/HTTPS 协议
  • 支持 SMTP、LDAP 和反向代理的用户认证
  • 支持反向代理子路径
  • 支持用户、组织和仓库管理系统
  • 支持添加和删除仓库协作者
  • 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
  • 支持仓库 Git 钩子和部署密钥
  • 支持仓库工单(Issue)、合并请求(Pull Request)、Wiki 以及保护分支
  • 支持迁移和镜像仓库以及它的 Wiki
  • 支持在线编辑仓库文件和 Wiki
  • 支持自定义源的 Gravatar 和 Federated Avatar
  • 支持 Jupyter Notebook
  • 支持邮件服务
  • 支持后台管理面板
  • 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(实验性支持) 数据库
  • 支持多语言本地化(22 种语言)

系统要求

  • 最低的系统硬件要求为一个廉价的树莓派
  • 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存

浏览器支持

  • 请根据 Semantic UI 查看具体支持的浏览器版本。
  • 官方支持的最小 UI 尺寸为 1024*768,UI 不一定会在更小尺寸的设备上被破坏,但我们无法保证且不会修复。

安装配置

/data
docker run --restart always --name=gogs -tid -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs:0.12.3

git clone 代码的时候,可以通过 ssh 连接或者通过 http 连接。一般常用的是 http 连接方式,如果需要通过 ssh 连接,则这里需要把 22 端口映射出去。

node ip + 端口

首次运行安装

Gogs 支持多种数据库,一般单机模式选择轻量级的 SQLite3 数据库,数据库文件路径建议保持默认。

应用基本设置

docker -pdocker -p

可选设置

admin

最后点击立即安装。

升级

docker pull
docker pull gogs/gogs:0.12.x
docker stop gogs
docker rename gogs gogs-old
docker run --restart always --name=gogs -tid -p 10022:22 -p 10080:3000 -v /data/gogs:/data gogs/gogs:0.12.x

在升级完成后,确认没有问题后执行以下命令删除旧的容器:

docker rm -f gogs-old