2014-10-06 22 views
9

Tôi đã có gitlab chạy qua docker sử dụng hình ảnh this. Trong tài liệu hình ảnh có hướng dẫn cách cấu hình máy chủ SMTP tùy chọn cho email, nhưng ít thông tin về những gì xảy ra nếu SMTP không được thiết lập. Các tài liệu gitlab chỉ ra rằng sendmail được sử dụng theo mặc định, vì vậy tôi cho rằng đó là những gì sẽ xảy ra, và cho mục đích của tôi (một vài kho lưu trữ riêng chỉ với một vài người dùng) Tôi không nghĩ rằng tôi thực sự cần nhiều hơn sendmail. Tôi đã thử chỉ bỏ qua cấu hình SMTP và tất cả đều chạy tốt, nhưng email không được gửi đi. Tôi không biết đủ về các máy chủ email hoặc sendmail để biết cách tìm ra vấn đề, nhưng tôi đoán là một số cổng cần thiết bị chặn.Cổng Gitlab, docker và sendmail

Câu hỏi của tôi:

  1. bất cứ ai có thể xác nhận hơn sendmail được sử dụng, và rằng tôi không cần phải cấu hình một cái gì đó?
  2. Có cách nào dễ dàng để kiểm tra sendmail cục bộ để xem có vấn đề gì với cổng bị chặn không? Tất cả các hướng dẫn tôi tìm thấy bắt đầu với một vài trang chi tiết cấu hình.
  3. Cổng sendmail nào cần mở để hoạt động? Tôi có cần hiển thị các cổng bổ sung trên vùng chứa hoặc trên tường lửa của mình không?

Trả lời

0

Tôi đã gặp vấn đề tương tự hôm qua và đã bỏ phiếu cho câu hỏi của bạn. Bây giờ tôi quản lý để làm cho smtp làm việc mà không có send_mail.

sudo docker exec -it gitlab /bin/bash # go into the container 
vi /home/git/gitlab/gitlab/config/environments/production.rb # The path may not exactly match, but you can guess 
now search email and the method is :send_mail, change it to :smtp 
supervisord reload # restart the service 
3

câu trả lời Shuo của làm việc cho tôi, ngoại trừ tôi đã thay đổi:

supervisord reload # restart the service 

để

supervisorctl reload 

cách tiếp cận khác là để xây dựng hình ảnh Docker của riêng bạn và cập nhật các tập tin môi trường production.rb. Đây là những gì bạn đang Dockerfile có thể giống như thế.

FROM sameersbn/gitlab:7.14.0 

MAINTAINER "leo.o'[email protected]" 

# sed the production.rb environment file to use a configured email method converting 
# 
# config.action_mailer.delivery_method = :sendmail 
# 
# to 
# config.action_mailer.delivery_method = (ENV['SMTP_DELIVERY_METHOD'] || :sendmail).to_sym 
RUN sed -E -e "s/(action_mailer.delivery_method[^\:]+)([^ \t\#]+)(.*)/\1\(ENV\[\'SMTP_DELIVERY_METHOD\'\] \|\| \2\).to_sym\3/" -i config/environments/production.rb 

hoặc bạn chỉ có thể sử dụng hình ảnh của tôi

Docker kéo leopoldodonnell/gitlab

+0

Không làm việc cho tôi. Tôi nhận được bash: supervisorctl: lệnh không tìm thấy. Tôi đã bỏ lỡ một cái gì đó? –

Các vấn đề liên quan