群晖gitlab-ce安装和配置
记录一下,完整的gitlab-ce安装和配置教程,网上大部分要么不全,要么比较老旧了,要么不是很适用于nas,此教程适用于所有支持docker的linux系统。
1.容器拉取与配置
成品nas都封装有docker的gui界面,个人感觉比docker-desktop更简单好用,主要是也不需要登录啥的,界面也很简洁明了,操作也很简单。由于国内docker各个镜像站点现在都不可以,可以自行查询解决方案,或者找一个支持docker网络的环境,开启局域网共享,群晖可以如下配置,然后搜索gitlab,第一个就是需要下载的镜像了。
2.运行环境配置
下载完成后,在镜像界面,选择运行,然后按如下配置,这里其实是gui将命令行可视化了出来,实际上就是对应docker run里面的端口映射和文件映射,如果没有gui界面,可以自行问AI获取对应的配置命令:
配置完成,启动即可,启动过程CPU和内存占用会提高,第一次启动过程比较慢,等待启动完成即可,由于更改了默认的80端口,所以启动完成后无法通过机器ip:4080访问Gitlab,必须进一步配置,这里还是推荐使用终端完成配置。
#输入进入Gitlab bash,下方命令行中的gitlab为容器名,sudo 需要你的用户密码才能提权
sudo docker exec -it gitlab bash
#配置nginx端口
cd /var/opt/gitlab/nginx/conf
vi gitlab-http.conf
#键入i进入编辑模式,键入esc退出编辑模式,键入:wq退出并保存
#在普通模式下,使用/listen可以查询listen关键字,查询模式下按n可以浏览下一个
#找到如下并修改配置
server { ## HTTPS server
listen *:4080; ##这里填写你容器运行的端口
server_name op.io2020.cn; ##这里可以随意填写
#进入gitlab配置路径
cd /etc/gitlab
#查看root密码,记得配置完成及时修改密码哦
vi initial_root_password
#配置gitlab.rb
vi gitlab.rb
#端口和地址配置
#使用/external_url查询,查询后删除#号取消注释,修改访问地址为你的外网地址,没有的话就使用内网地址
external_url 'http://op.io2020.cn:57562'
#修改nginx端口,同样查询并取消注释
nginx['listen_port'] = 4080
#邮件配置,查询到如下结果,进行配置
#下面使用qq邮箱,可以自行在网页端,设置开启smtp功能,163邮箱等同理
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com" ##这里使用qq邮箱
gitlab_rails['smtp_port'] = 465 ##tls端口
gitlab_rails['smtp_user_name'] = "aiopenai@qq.com" ##用户名
gitlab_rails['smtp_password'] = "ouyyiq********" ##授权码
gitlab_rails['smtp_domain'] = "qq.com" ##域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false ##改为false,使用tls
gitlab_rails['smtp_tls'] = true ##改为true
gitlab_rails['smtp_pool'] = false
###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'**
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html
# gitlab_rails['smtp_openssl_verify_mode'] = 'none'
# gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"
# gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"
### Email Settings
# gitlab_rails['gitlab_email_enabled'] = true
##! If your SMTP server does not like the default 'From: gitlab@gitlab.example.com'
##! can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = 'aiopenai@qq.com' ##填写发件人邮箱
# gitlab_rails['gitlab_email_display_name'] = 'Example'
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
# gitlab_rails['gitlab_email_subject_suffix'] = ''
# gitlab_rails['gitlab_email_smime_enabled'] = false
# gitlab_rails['gitlab_email_smime_key_file'] = '/etc/gitlab/ssl/gitlab_smime.key'
# gitlab_rails['gitlab_email_smime_cert_file'] = '/etc/gitlab/ssl/gitlab_smime.crt'
# gitlab_rails['gitlab_email_smime_ca_certs_file'] = '/etc/gitlab/ssl/gitlab_smime_cas.crt'
##配置完成,保存并退出
#接下来修改root默认邮箱地址,输入后会连接postgreSQL,会很慢,第一个用户是root
gitlab-rails console -e production
user =User.where(id: 1).first ##查询id=1的用户,即root
user.password="12345678" #这里可以修改密码
user.password_confirmation="12345678"
user.email="1@qq.com" ##修改邮箱为发件邮箱
user.save
#刷新配置并重启
gitlab-ctl reconfigure
gitlab-ctl restart
3.登入与配置
接下来用之前获取的密码,或者你修改的密码,进行登录,访问地址是你内网ip:4080,或者你配置的外网访问地址external_url,接下来就可以使用网页进行配置了。如果嫌弃端口访问,可以使用云服务器反向代理,或者进行重定向,不过反向代理带宽受限于服务器带宽,重定向只是方便你访问,而且修改后external_url也需要对应修改,否则无法进行代码拉取!