使用Gogs搭建Git服务

是一款用Golang语言实现的轻量级的Git服务器

Gogs 是一款用Golang语言实现的轻量级的Git服务。

1. Gogs的安装

1.1 下载链接

按照官网的下载链接下载对应的版本就可以了,文件名遵循以下规则:

  • 操作系统:Macos - darwin, Linux - linux, Windows - windows
  • CPU类型:Intel 64位 - amd64,Intel 32位 - 386,ARM芯片或苹果M系列 - arm64

也可以通过 Github 下载

1.2 前置环境依赖

Gogs的使用方法在官网文档中已经介绍得很详细了,Gogs的安装环境要求包括3部分:

  • git (bash) :按照常规的git安装指南进程安装就好了,只要在命令行中能够使用git就好,版本要求也不高(>=1.8.3)。
  • 数据库(非必需)
    • 轻量级安装可以不需要依赖数据库(默认采用SQLite3,已内置)
    • MySQL 或 PostgreSQL 或 TiDB
  • SSH服务器(非必需)
    • 下面我们介绍基于http的方式进行管理

1.3 HTTPS/SSH的支持

我个人建议使用Caddy作为前置WEB服务器进行转发就可以了,这样不用关心数字证书的申请以及相应的配置,如果要使用gogs自带的HTTPS支持能力,或是结合SSH进行配置,可以参考官方文档。

以下给出Caddy转发的简单配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 以下改成你自己的域名即可
git.xxx.com {
  # 请求转发到 gogs HTTP端口
  reverse_proxy 127.0.0.1:3000

  # 实际上并不依赖本地web的file server
  root * /www/wwwroot/
  encode gzip
  file_server
}

2. 配置与启动

修改 custom/conf/app.ini 文件配置,通常只需要指定仓库的路径

1
2
[repository]
ROOT = /Users/your/path

启动webui

1
./gogs web

3. 体验

登录之后,用户可以创建仓库和查看Git操作记录

管理员可以通过管理面板管理用户和仓库等,同时提供轻量级的系统状态监视,可以看得出来资源消耗还是比较美好的。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus