1

我有一个 QNAP TS453a NAS。在 Container Station 中,我安装了 sameersbn 的 Docker Gitlab 10.4.2。但是我找不到任何手册如何配置电子邮件服务器,以便 Gitlab 可以在有人忘记密码时发送电子邮件。谁能帮我?

4

1 回答 1

1

Sameersbn也在 Container Station 中安装了 Gitlab 的版本,我发现它非常有限制。我个人的建议是只使用 Gitlab 提供的标准 CE 版本。

但是,在我使用SameersbnGitlab 版本时,我无法找到成功配置电子邮件服务器的方法(不是说没有,我只是想不通)。但是,这并不意味着您不能自己手动完成。

我建议您将卷挂载到磁盘上的某个位置而不是 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 的一些很好的阅读材料是:

(请注意,可能有一些额外的配置允许您的系统写入/share/Gitlab/config您可以通过chmod命令执行此操作ssh

于 2018-09-03T08:58:45.867 回答