一、前言

Gogs 的是一个由 Go 语言开发的、可以简单、快速搭建自助 Git 服务。在宿主机上的安装可以参考官网: https://gogs.io/docs/installation 。

不过在宿主机上直接安装会麻烦一点,需要自行安装git工具,如果使用ssh还要安装ssh服务器,如果使用源码安装,还可能需要go语言的编译环境,所以,如果是自己或者是小团队使用,推荐使用docker来安装。

二、安装

2.1使用docker获取gogs的镜像

# pull gogs镜像
sudo docker pull gogs/gogs
# 创建并运行一个容器,将宿主机的10022端口映射到容器的22端口,将宿主机的13000端口映射到容器的3000端口,10022端口和13000端口可以根据自己的情况修改
sudo docker run -d -p 10022:22 -p 13000:3000 -v /var/gogs:/data gogs/gogs
# 注:
# 1、22端口是gogs的ssh服务端口,如果不开启ssh服务,可不做这个端口映射,3000是gogs应用服务端口,这两个端口可以修改,但是需要结合后续配置一同# 修改,这点在后面配置时来说明。
# 2、这里做了一个卷映射,/data是容器内部gogs的数据目录,gogs后续的配置、git仓库等等都在这个目录中,我们将它映射到宿主中,方便数据保存以及配# # 置的改动,比如我这里的/var/gogs,需要提前将目录创建好:sudo mkdir /var/gogs。

容器成功运行后,我们可以在浏览器通过宿主机的ip+13000端口打开gogs的首次运行安装程序 ,比如我这里是 http://192.168.209.128:13000

2.2数据库设置

gogs目前支持3种数据库:MySQL、PostgreSQL、SQLite3,这里用mariadb

mariadb部署教程

注:我用的是mariadb,这里数据库类型选择mariadb是没问题的,提前在数据库中创建gogs库

2.3应用基本设置

  应用名称:可以换成自定义名称
    仓库根目录:使用默认就行了,默认/data/git/gogs-repositories,如果采用了数据卷映射,比如我这里因为/var/gogs映射/data,所以这个目录在宿主机中的地址是/var/gogs/git/gogs-repositories
    运行系统用户:不要修改,默认就是git用户,修改可能会有问题
    域名:使用ssh时使用的域名或者IP(看后文使用说明)
    SSH 端口号:gogs启用ssh时使用的端口号,默认22端口,如果修改了这个端口号,那么在上面创建容器时要对应的将10022端口映射到修改的端口号,如果不启用ssh,则置空
    HTTP 端口号:gogs应用启动的http端口,默认3000,如果修改了这个端口号,那么在上面创建容器时要对应的将13000端口映射到修改的端口号
    应用 URL:即打开应用的url地址,因为这里采用了docker,所以我们要修改成宿主机的地址转发去访问,比如这里我的宿主机地址:192.168.209.128,它的13000端口会转发到容器的3000端口,所以这里填:http://192.168.209.128:13000/
  日志路径:gogs的日志保存路径,默认就行了

其他可选配置可按自己的需求修改,修改完成后点击立即安装即可。

三、使用说明

3.1 安装完成之后,就可以使用了,默认情况下,我们需要自己注册一个账号,然后登陆

3.2 注册登录之后,我们可以在右上角的+号创建一个仓库

例如:

创建完成之后大概是这样子的: