使用Gitlab Docker镜像发送电子邮件

Hur*_*aki 4 email gitlab docker docker-compose

这是我的目标,我想为Gitlab服务器配置电子邮件。我遵循了很多教程,但无法使其正常运行。

我的配置如下,我在Docker容器中有一个反向代理,而我的Gitlab服务器也在Docker容器中。

关于版本:

Docker version 17.09.0-ce, build afdb6d4
docker-compose version 1.16.1, build 6d1ac21
Run Code Online (Sandbox Code Playgroud)

这是我的docker-compose.yml文件

version: '3.3'

networks:
   proxy: 
     external: true
   internal:
     external: false

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    environment:
        - TZ=Europe/Paris
        - GITLAB_TIMEZONE=Paris
        - IMAP_USER=USER@GMAIL.COM
        - IMAP_PASSWORD=MYGMAILPASS
        - GITLAB_INCOMING_EMAIL_ADDRESS=USERGMAIL+%{key}@gmail.com
    volumes:
        - /srv/gitlab/config:/etc/gitlab
        - /srv/gitlab/logs:/var/log/gitlab
        - /srv/gitlab/data:/var/opt/gitlab
    restart: always
    labels:
        - traefik.backend=gitlab
        - traefik.frontend.rule=Host:git.domain.com
        - traefik.docker.network=proxy
        - traefik.port=80
        - traefik.frontend.entryPoints=http,https
    networks:
        - internal
        - proxy
Run Code Online (Sandbox Code Playgroud)

我遵循了本教程,看起来不错:

https://github.com/sameersbn/docker-gitlab#available-configuration-parameters

我必须错过配置中的某些内容,但无法弄清楚它是什么...

有人可以帮助我配置电子邮件发送吗?我也不知道测试从GitLab发送的电子邮件的正确方法。

最好的方法是从docker-compose环境变量配置还是直接从gitlab.rb文件配置?

一些帮助将不胜感激

crs*_*shd 5

您遵循的说明适用于与您实际使用的不同的docker映像。您还设置了IMAP,用于接收电子邮件。在GitLab的情况下,它用于通过电子邮件回复问题。

您需要的是SMTP设置。GitLab docker映像未安装sendmail,因此您必须按照此处的说明在GitLab中设置SMTP:https ://docs.gitlab.com/omnibus/settings/smtp.html#example-configuration

您可以在docker-compose下的environment部分中转储gitlab.rb配置。我的Fastmail设置供参考:

environment:
    GITLAB_OMNIBUS_CONFIG: |
        gitlab_rails['smtp_enable'] = true 
        gitlab_rails['smtp_address'] = "***"
        gitlab_rails['smtp_port'] = 465    
        gitlab_rails['smtp_user_name'] = "***"
        gitlab_rails['smtp_password'] = "***"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true    
        gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
Run Code Online (Sandbox Code Playgroud)

  • @MMT 当然,我知道你的感受!我不知道你的配置,但是当你进入 gitlab_rails 控制台时,你必须输入以下命令:`Notify.test_email('destination_email@address.com', 'Message subject', 'Message Body').deliver_now` (2认同)