本文图文讲解在Docker中安装Gogs并配邮件服务、加SSL以及创建仓库、克隆项目并测试提交和自定义模版页面以及一些注意事项等。
Gogs官网这样描述:Gogs是一款极易搭建的自助 Git 服务,Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
选择Gogs是因为它轻量级、支持多平台、开源,虽然没有Gitlab强大,但对于个人和小团队来说搭git私有库Gogs是很不错的选择,毕竟我们没有那么多资源。
首先可到docker hub上搜索gogs看docker版的Gogs相关描述,然后docker search gogs,接着docker pull gogs/gogs拉镜像。
如果你老是拉取失败,也可以下载我网盘上docker save下来的镜像,然后docker load < 目录/XXX.tar进去(链接: https://pan.baidu.com/s/1ZFs-2tiQdexsmJmRNHrEKw 提取码: 7mkb)。
然后运行镜像,并为gogs创建个数据库,可以是MySQL、PostgreSQL、SQLite3、MSSQL或TiDB,我这里用MySQL。
接着ip+映射端口访问gogs容器,会出现首次运行安装程序,将上面创建的数据库信息填进去。
在应用基本设置一栏修改对应的域名和端口,注意“HTTP端口号*”不用改,不然等下重启容器就访问不了,域名用IP的要加上端口,如果是用域名且为80或433端口则不用加端口。
接着配邮件服务和管理员账号,关于申请邮箱授权码我之前在安装Gitlab等文章中已经多次讲过了,具体如下图。
注意“发送邮箱密码”就是上面申请的授权码而不是登录密码,最好在这里一起配管理员账号等下可以直接登录。
然后就可以进入首页了。
上面配的邮件服务在注册账号后会有邮件激活账号。
接着创建仓库。
管理员可以在仓库管理看到包括私有库在内的所有仓库,普通用户则不能看到其他人创建的私有库。
然后用idea克隆项目,输入密码选择创建对应项目后要手动打开项目。
然后测试提交。
push成功后页面刷新一下就可以看到刚刚提交的东西了。
接下来讲解配SSL
首先要自己去申请SSL证书并解析域名,我服务器上是用nginx代理多个服务的,所以直接新增一个conf配置文件并把证书配进去即可,这一步比较有可能出问题的是域名和证书路径没写对,proxy_pass代理转发这里也被坑了一下,不知道为什么容器映射端口用13000在容器外面curl老是报拒绝连接,我把映射端口改成3000才没问题。
页面配置如下图,另外修改配置信息可以到挂载目录gogs/conf下面的app.ini,改完记得重启容器。
接下来讲一下自定义模版HTML页面
在Gogs官网有说自定义模版HTML页面,但是并没有说清楚,特别是用docker安装的,根本不知道它说的custom/templates/对应哪个目录,瞎摸要耗很多时间甚至还没搞明白,实际上它这里的custom就对应挂载目录/data/gogs,知道这一点就好办了,其他就可以按照官网的去操作了,对应的.tmpl文件直接到GitHub下载,上不了GitHub的也可以到我网盘拿我下载的gogs-master.zip包(链接: https://pan.baidu.com/s/1ZFs-2tiQdexsmJmRNHrEKw 提取码: 7mkb)。
然后就可以自定义模版HTML页面了,查看templates下面home.tmpl文件的头尾引入了{{template “base/head” .}}和{{template “base/footer” .}},所以我在挂载目录/data/gogs下建对应的目录(注意templates跟conf、data、log同级目录)并直接将/templates/base下的head.tmpl和footer.tmpl修改后拿过去然后重启Gogs容器就可以实现自己想要的效果了。
最后附上我搭好的带SSL的Gogs地址。
历史上的今天:
展开阅读全文
上一篇: 通过QQ号获取QQ昵称、头像等信息