Aengus 的技术小筑

Aengus | Blog

Synology 群晖安装 Gogs 进行代码管理

2255
2022-03-13

Gogs是使用Go语言编写的代码托管工具,非常轻量,支持Windows、MacOS、Linux三种平台,同时也支持Docker或者Vagrant进行安装,很适合个人用户使用。在NAS上,我们可以通过群晖官方套件中提供的Docker进行安装。

Gogs的运行还需要数据库以及Git,数据库可以选择MySQL(版本5.7及以上)、PostgreSQL、TiDB或者直接使用内置的SQLite3,为了方便后续其他用途,我们这里选择MySQL。

安装Docker及Git

在套件中心中,直接搜索Docker及Git进行安装下载即可;

使用Docker创建MySQL及Gogs容器

打开Docker - 注册表,分别搜索MySQL和Gogs,右键选择”下载此镜像“;下载的版本可以自行选择,但一定要5.7或以上;

安装MySQL

然后点击”映像“,双击MySQL,进入容器设置流程。首先为容器设置名称,比如”mysql-test";然后点击高级设置 - 环境,在这里面我们需要为MySQL配置启动密码,有三项可以选择:MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD, MYSQL_RANDOM_ROOT_PASSWORD,这里我们配置MYSQL_ROOT_PASSWORD,这样就可以直接使用密码进行登录了,当然也可以先使用MYSQL_ALLOW_EMPTY_PASSWORD=1禁用密码,然后登录上MySQL后再设置密码,设置完密码后最好再把这个值改成0

设置密码

在高级设置里我们同样可以对端口号等进行设置,建议自定义本地端口号,否则本地端口号可能会变动;设置完成后点击下一步,然后点击完成即可。

Gogs的创建更简单,无需设置环境变量,仍然是建议在高级设置里配置一下本地端口号;

Gogs配置

创建数据库

点击容器,选择上一步创建的MySQL容器,然后点击详情,记下对应的端口号:

MySQL端口号

然后点击“终端机”,点击新增,此时会创建一个Bash窗口,我们在里面登录上MySQL后,创建数据库即可:

CREATE DATABASE gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

创建数据库

此处的数据库名可以自定义,但是要与Gogs安装时的数据库对应。

Gogs安装

同样打开Gogs容器详情页,记住容器端口所对应的本地端口,如果在创建容器时没有修改容器端口的话,默认端口为3000。然后在浏览器中输入 NAS的地址:本地端口(例如192.168.31.194:49164),第一次会打开Gogs的安装页面。之后同样可以使用这个地址访问Gogs。

在安装页面中,数据库主机地址填写 NAS地址:MySQL容器对应的本地端口,如192.168.31.194:49161;数据库名称填写上面创建的数据库名称;域名填写Gogs的地址,也就是此刻浏览器里的地址192.168.31.194:49164,如果NAS配置了域名或者公网访问的话,也可以填写自己的域名(需要为数据库用户授予外网访问的权限);应用URL填写域名相同的值;SSH端口与HTTP端口不用变,其他配置项可以自动配置。结果图如下:

Gogs安装配置

点击“开始安装”等待Gogs安装完成即可。

安装完成后,注册的第一个用户将自动成为管理员。之后我们就可以像使用Github一样将自己的仓库推送到NAS里了。