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