我有一台 QNAP TS453a NAS。在容器站中,我安装了sameersbn的Docker Gitlab 10.4.2。但是我找不到任何手册来配置电子邮件服务器,以便Gitlab可以在有人忘记密码时发送电子邮件。谁能帮我?
我也在Container Station中安装了Gitlab的Sameersbn
版本,我发现它非常严格。我个人的建议是只使用Gitlab提供的标准CE版本。
但是,当我使用Sameersbn
版本的 Gitlab 时,我无法找到成功配置电子邮件服务器的方法(不是说没有,我只是无法弄清楚)。但是,这并不意味着您不能自己手动完成。
我建议您将卷装载到磁盘上的某个位置,而不是在容器站内,以便更轻松地手动重新配置任何设置。
这是我的 docker 撰写文件的样子。非常简单,您唯一需要关心的是卷以及安装它们的位置。
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
的文件,这是一个 ruby 文件,其中包含 GitLab 实例的所有配置。如果您在此文件中搜索,您将找到以下配置:
### 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的一些很好的阅读材料是:
- https://docs.gitlab.com/omnibus/docker/
- https://docs.gitlab.com/ee/install/docker.html
- https://developer.ibm.com/code/2017/07/13/step-step-guide-running-gitlab-ce-docker/
- https://www.digitalocean.com/community/tutorials/how-to-build-docker-images-and-host-a-docker-image-repository-with-gitlab
(请注意,可能有一些额外的配置来允许您的系统写入/share/Gitlab/config
您可以通过ssh
chmod
命令执行此操作)