QNAP集装箱站Gitlab电子邮件服务器

时间:2018-03-09 09:16:37

标签: docker-compose gitlab email-integration qnap

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

1 个答案:

答案 0 :(得分:0)

我也在Container Station中安装了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的文件,这是一个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命令执行此操作)