群晖Docker安装Gitlab私有仓库并配置FRP端口映射域名访问
效果图
群晖Docker 安装
我们需要在群晖的插件中心安装Docker
安装Gitlab
点击Docker,选择注册表 搜索gitlab-ce
右击下载镜像
选择最新版就可以了
接下来我们找到需要运行的容器
网络这里默认即可
gitlab比较费资源,默认的话我们这里也不做修改了。 当然也可以限制gitlab内存,一般在2-4g左右
添加一下环境变量
GITLAB_ROOT_PASSWORD
默认root用户的密码GITLAB_HOST
gitlab访问地址
这里端口主要是用于后面frp以及gitlab pull代码所用,我这里就暂时固定一下
端口不要冲突
添加持久化存储
logs为可选,其它装载路径为固定
然后我们启动
需要等待3-5分钟,如果出现502的状况需要稍等一会。刚启动的时候负载会比较高,等启动完成就可以了
在等待一会
访问http://nas_ip:1801
根据我们设置的端口号访问
输入我们变量设置的密码123456789
登陆gitlab
Gitlab 配置
前面为基础配置,那么配置完成后,我们还需要配置gitlab相关设置
设置中文
gitlab默认已经附带中文,我们添加中文就可以了
关闭gitlab注册
默认情况下,安装好系统后,gitlab还支持用户注册
Frp配置
相关准备如下
gitlab.frps.cn 为gitlab 80 域名地址
gitlab.frps.cn:1444 为gitlab ssh端口号地址
frpc客户端配置如下
[gitlab-ssh]type= tcplocal_ip = 192.168.31.198local_port = 1223remote_port = 1223[gitlab-80]type= tcplocal_ip = 192.168.31.198local_port = 1801remote_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
文件
1.停止gitlab (不停止gitlab没有权限修改)
2.修改gitlab.rb文件,在文件中添加gitlab http地址,以及gitlab ssh地址
关闭gitlab容器
找到我们本地持久化的gitlab配置文件
这里的目录是我们容器挂载本地的路径,不知道路径的去docker里面看一下
编辑gitlab.rb
修改如下参数
gitlab_rails[gitlab_shell_ssh_port] = 1223external_urlhttp://gitlab.frps.cnexternal_url可以找个空白的地方添加
此处不建议直接修改https,会提示重定向过多,直接使用http即可。因为证书我们在外面配置了 如果提示修改没有权限,可以通过ssh进入群晖,使用root用户,或者是修改文件夹权限
测试
接下来我们可以创建项目测试一下
使用http clone gitlab地址测试
使用ssh clone gitlab地址测试
因为没有配置ssh免密,所以会有这个报错,但是我们实际上是已经正常了
温馨提示: 搭建完成后请第一时间修改密码!