我有一个 QNAP TS453a NAS。在 Container Station 中,我安装了 sameersbn 的 Docker Gitlab 10.4.2。但是我找不到任何手册如何配置电子邮件服务器,以便 Gitlab 可以在有人忘记密码时发送电子邮件。谁能帮我?
1 回答
我Sameersbn
也在 Container Station 中安装了 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>'
。因此,如果我导航到/share/Gitlab/config
我的 QNAP NAS,我会找到我的 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
您可以通过chmod
命令执行此操作ssh
)