Docker 装 GitLab:改了 external_url 之后网页打不开
直接回答:external_url 里写了端口,GitLab 容器内部就会改成监听那个端口,docker run 的端口映射必须同步改,否则映射的还是一个没人监听的端口。
安装docker之后修改external_url之后web打不开,因为这里的值我给的是http://gitlab.example.com:666 这样就相当于把容器内部端口由原来的80改为了666,需要在修改端口映射,将容器内的原来的80修改为666,然后就正常了
最简单办法
运行的时候添加环境变量
1 2
| HOSTNAME gitlab.example.com:666 GITLAB_OMNIBUS_CONFIG external_url 'http://gitlab.example.com:666'
|
添加邮箱支持
- 配置文件的位置一般在/etc/gitlab/gitlab.rb
- 有2个地方需要配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| ### Email Settings gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = '你的QQ邮箱' gitlab_rails['gitlab_email_display_name'] = '陈洋' gitlab_rails['gitlab_email_reply_to'] = '你的QQ邮箱' gitlab_rails['gitlab_email_subject_suffix'] = ''
### GitLab email server settings ###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html ###! **Use smtp instead of sendmail/postfix.**
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "你的QQ邮箱" gitlab_rails['smtp_password'] = "授权码,不是邮箱密码" gitlab_rails['smtp_domain'] = "smtp.qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true 123456789101112131415161718192021
|
重启gitlab服务
测试邮件发送
1 2 3
| root@192:/# gitlab-rails console irb(main):002:0> Notify.test_email('example@example.com', 'Message Subject', 'Message Body').deliver_now 12
|
注意点
测试邮件时报错501
1 2 3 4 5
| Net::SMTPSyntaxError: 501 mail from address must be same as authorization user
原因:配置文件gitlab.rb中### Email Settings没有设置邮箱地址,意思就是发送邮件的地址和SMTP认证的账号必须一致 解决办法:配置好### Email Settings即可 1234
|
测试邮件时报错SSLError
1 2 3 4 5
| 原因:此类报错通常是SMTP服务器没有使用SSL,但是配置却开启了 解决办法:注释掉以下配置 # gitlab_rails['smtp_enable_starttls_auto'] = true # gitlab_rails['smtp_tls'] = true 1234
|
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。