我有一个QNAP TS453a NAS。在集装箱站,我安装了sameersbn的Docker Gitlab 10.4.2。但我找不到任何手册如何配置电子邮件服务器,以便Gitlab可以在有人忘记密码时发送电子邮件。谁能帮我?
我也在容器站安装了Sameersbn
版本的Gitlab,我发现它非常有限。我个人的建议是使用Gitlab提供的标准CE版本。
然而,当时我使用Sameersbn
版本的Gitlab,我无法找到成功配置电子邮件服务器(不是说我不能解决它)。但是,这并不意味着你不能手动完成。
我建议您将卷安装到磁盘上的某个位置而不是Container Station中,这样可以更轻松地手动重新配置任何设置。
这是我的docker-compose文件的样子。非常简单,而且您需要关心的唯一事情是卷和您安装它们的位置。
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: <HOTST_NAME>
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url <EXTERNAL_URL>
ports:
- '10080:80' // Insecure port
- '10443:443' // Secure port
- '10020:22' // SSH port
volumes:
- '/share/Gitlab/config:/etc/gitlab' // To configure the Email Server we care about this one.
- '/share/Gitlab/logs:/var/log/gitlab'
- '/share/Gitlab/data:/var/opt/gitlab'
我们关心的是'/share/Gitlab/config:/etc/gitlab'
。如果你不太了解音量和安装它们就像这个'<your_local_location>:<container_location>'
。因此,如果我在QNAP NAS上导航到/share/Gitlab/config
,我将找到我的GitLab实例的所有配置。
在/share/Gitlab/config
中,您应该看到一个名为gitlab.rb
的文件,这是一个包含GitLab实例的所有配置的ruby文件。如果您在此文件中搜索,您将找到以下配置:
### 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.server"
# gitlab_rails['smtp_port'] = 465
# gitlab_rails['smtp_user_name'] = "smtp user"
# gitlab_rails['smtp_password'] = "smtp password"
# gitlab_rails['smtp_domain'] = "example.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = false
您需要做的就是取消注释(#
表示评论,只需删除)并填写您的SMTP详细信息。
这将要求您重新配置Gitlab实例。所以你需要ssh到你的GitLab容器中,然后运行reconfigure
命令。
基本上你需要找到获取gitlab.rb
文件,以便您可以修改SMTP电子邮件服务器设置。
通过Docker安装GitLab的一些好的阅读材料是:
(请注意,可能有一些额外的配置允许您的系统写入/share/Gitlab/config
,您可以通过chmod
使用ssh
命令执行此操作)