作为一个即将转入dev的运维人员,我们需要有一套自己的gitlab代码仓库。家里的设备采用的是dsm920+ 使用docker + frp 将gitlab搭建在家里的nas中,以保证代码仓库的稳定~ 当然也可以采用免费的github。
群晖Docker 安装
我们需要在群晖的插件中心安装Docker
安装Gitlab
点击Docker,选择注册表 搜索gitlab-ce
右击下载镜像
选择最新版就可以了
接下来我们找到需要运行的容器
网络这里默认即可
gitlab比较费资源,默认的话我们这里也不做修改了。 当然也可以限制gitlab内存,一般在2-4g左右
添加一下环境变量
这里端口主要是用于后面frp以及gitlab pull代码所用,我这里就暂时固定一下
端口不要冲突
添加持久化存储
然后我们启动
需要等待3-5分钟,如果出现502的状况需要稍等一会。刚启动的时候负载会比较高,等启动完成就可以了
在等待一会
访问http://nas_ip:1801 根据我们设置的端口号访问
输入我们变量设置的密码123456789登陆gitlab
Gitlab 配置
前面为基础配置,那么配置完成后,我们还需要配置gitlab相关设置
设置中文
gitlab默认已经附带中文,我们添加中文就可以了
关闭gitlab注册
默认情况下,安装好系统后,gitlab还支持用户注册
Frp配置
相关准备如下
frpc客户端配置如下
[gitlab-ssh] type = tcp local_ip = 192.168.31.198 local_port = 1223 remote_port = 1223 [gitlab-80] type = tcp local_ip = 192.168.31.198 local_port = 1801 remote_port = 1801
配置完成后重启frpc容器,测试访问效果
nginx代理配置
我这里使用宝塔配置nginx,和普通nginx配置文件配置相同
location ^~ / { proxy_pass http://127.0.0.1:1801/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; add_header X-Cache $upstream_cache_status; }
接下来进行DNSPOD域名解析
配置https
我使用宝塔开启https就可以了,普通nginx添加ssl证书即可
访问测试
gitlab 拉取代码配置文件修改
我们在gitlab中没有配置ssh下载代码的地址和gitlab http下载代码的地址,需要修改gitlab.rb文件
关闭gitlab容器
找到我们本地持久化的gitlab配置文件
这里的目录是我们容器挂载本地的路径,不知道路径的去docker里面看一下
编辑gitlab.rb
修改如下参数
gitlab_rails['gitlab_shell_ssh_port'] = 1223 external_url 'http://gitlab.frps.cn' #external_url可以找个空白的地方添加
此处不建议直接修改https,会提示重定向过多,直接使用http即可。因为证书我们在外面配置了
如果提示修改没有权限,可以通过ssh进入群晖,使用root用户,或者是修改文件夹权限
测试
接下来我们可以创建项目测试一下
因为没有配置ssh免密,所以会有这个报错,但是我们实际上是已经正常了
温馨提示: 搭建完成后请第一时间修改密码!温馨提示: 搭建完成后请第一时间修改密码!温馨提示: 搭建完成后请第一时间修改密码!
相关文章:
- 云服务器安装黑群晖DSM6
- 群晖SSD高速缓存设置教程 添加SSD固态硬盘作为缓存盘
- Docker搭建Awesome ttrss_Tiny Tiny RSS
- 群晖Docker搭建开源的个人理财记账工具Firefly III