GitLab本地部署(1)Docker部署和配置

本文最后更新于:2023年10月12日 晚上

前言

本地部署Git仓库和管理对于程序员来说一直是很重要的,毕竟一些私人代码哪怕放到私有仓库里依然难以给人安全感。在体验了Gitea和Gitlab两个不同的工具之后我选择了Gitlab-CE版本。

两个仓库项目的镜像大小对比

首先是gitea需要额外设置mysql数据库,不过由于比较轻量化,启动速度很快,并且占用的内存大约200MB;而gitlab直接部署就可以使用,但是启动耗时较长,占用内存经常超过5GB,重量了许多。当前没有选择这个版本的gitea原因是某次调整配置重启后无法打开管理界面,最后还是回到了小狐狸的怀抱。

Docker部署在黑群晖上

在群晖系统上运行docker也是轻松又惬意,下面是一些需要配置的内容做参考:

端口参考

22,443,和80端口是需要放出来的,我这里由于后面需要调整内网的端口转发和LFS的需求,不使用默认的80端口,如果读者和我相同需求,最好容器和本地端口配置为相同的。

路径参考

三个文件夹是需要提前都在群晖上配置好的。其他的配置都使用默认即可,十分简单。

如果读者这里使用默认80端口,启动后一分钟就可以在ip:57080端口访问到gitlab首页了,第一次登陆需要用root账户,root密码在我们刚刚配置的docker/gitlab/config/initial_root_password中,这个是不能修改的。通常我们不用这个root账户,而是在控制台里新建一个账户,分配管理员权限。

这里网络上很多教程,我就跳过不写了,不同版本的gitlab-ce界面不太一样

如果像我一样调整了端口,就还需要进入配置文件修改nginx的监听端口,不然是没法使用LFS的

这里可以进入群晖的docker/gitlab/config/找到gitlab.rb文件下载后进行修改覆盖(上传后记得修改这个文件的读写权限给admin用户),也可以直接在运行的docker内调整,调整内容是一样的

终端机

进入docker的终端机新增一个bash,输入

1
vi /etc/gitlab/gitlab.rb

这整个文件都是带#号的,注意一定要去掉每行前面的#

32行应该是配置external_url,我这里修改为external_url 'http://192.168.1.xx:57080'

此外还需要调整nginx['listen_port'],我这里在1467行,把值修改为57080对应上自己的配置。

之后在内网环境内通过ip:端口的方式就可以正常进入web首页了~

web端可以显示克隆地址,但是只会显示external_url的配置

不过这个方法的缺点是仓库地址中的克隆地址是内网的地址,如果在外网克隆需要手动修改为SSH host或者外网的ip/域名等,有一些其他方法(https://zhuanlan.zhihu.com/p/109834567)能解决这个问题,但是对于Git LFS是无效的,本文的方法是我自用没有问题的方法。

下一篇内容是配置路由器上的端口转发,使得在更大的局域网(如校园网)内可以访问。

相关链接

需要详细配置的可以参考下面的链接:

https://forums.docker.com/t/gitlab-lfs-dial-tco-error/102263

https://docs.gitlab.com/omnibus/settings/configuration.html

https://zhuanlan.zhihu.com/p/486410391


GitLab本地部署(1)Docker部署和配置
https://ash-one.github.io/2023/10/01/gitlab-ben-di-bu-shu-1-docker-bu-shu-he-pei-zhi/
作者
灰一
发布于
2023年10月1日
许可协议