极易搭建的自助Git服务Gogs
简介
什么是 Gogs ?
Gogs是一个轻量级、自托管的Git服务,旨在提供简单、高效的Git版本控制解决方案。它允许用户在自己的服务器上快速部署Git仓库,便于团队协作和代码管理。使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台,包括Linux、macOS、Windows和基于ARM的操作系统。
主要特点
- 易于安装: 用户只需运行适合其平台的二进制文件,或通过
Docker、Vagrant等工具进行部署。 - 跨平台支持:
Gogs可以在多种操作系统上运行,包括Windows、Mac、Linux和ARM等。 - 轻量级:
Gogs的最低系统要求非常低,可以在Raspberry Pi等低配置设备上运行,甚至一些用户在NAS设备上也能成功部署。 - 开源免费:
Gogs是100%开源的,遵循MIT许可证,源代码可在GitHub上获取,用户无需支付费用即可使用。
应用场景
- 团队协作:
Gogs适合开发团队用于管理代码和项目,提供版本控制和协作功能。 - 私有项目托管: 适合需要在内部网络中托管代码的企业和开发者,确保数据安全。
- 轻量级解决方案: 对于资源有限的环境(如小型服务器或单板计算机),
Gogs提供了一个经济实惠的Git解决方案。

Gogs 以其简洁和高效的特性,成为了许多开发者和团队的理想选择。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 gogs ,选择第一个 gogs/gogs,版本选择 latest。
本文写作时,
latest应该是0.13.2之后的版本;

从软件界面看是 0.14.0+dev

卷
在 docker 文件夹中,创建一个新文件夹 gogs,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/gogs/data |
/data |
存放数据,包括仓库和配置文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 | 说明 |
|---|---|---|
3234 |
3000 |
主服务端口,用于访问 Gogs 的 Web 界面 |
3222 |
22 |
用于 SSH 访问,以便通过 Git 协议进行代码推送和拉取 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 gogs 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 gogs 和 子目录 |

运行
在浏览器中输入 http://群晖IP:3234 就能看到向导界面

既然是简易,数据库就选择 SQLite3

修改
- 域名: 填写
Docker主机的主机名或IP地址,将默认的localhost改为192.168.0.197 - 应用 URL:填写公开的访问地址,将默认的
http://localhost:3000/改为http://192.168.0.197:3234/
如果要启用
SSH协议,要将SSH 端口改为3222;

点 立即安装

完成之后,会显示登录界面

第一次需要先注册

登录成功后的主界面

接下来就可以创建仓库了

如果是管理员,可以进入管理面板

参考文档
gogs/gogs: Gogs is a painless self-hosted Git service
地址:https://github.com/gogs/gogsGogs: A painless self-hosted Git service
地址:https://gogs.io/gogs/gogs - Docker Image | Docker Hub
地址:https://hub.docker.com/r/gogs/gogs