Issue running Dovecot in Docker Container

Marc Roos M.Roos at f1-outsourcing.eu
Mon Dec 30 10:13:41 EET 2019


 
If you are running your container as root. You will not have the issues 
I encountered. Dovecot is dropping to the 'dovecot' and 'dovenull'(?) 
when needed, this is fine.

PS. I would not recommend using internal logging, use something like 
this to log to the host or remote syslog.
docker run -v /dev/log:/dev/log -it dovecot-proxy


-----Original Message-----
Subject: Re: Issue running Dovecot in Docker Container

Hi Marc, 

I can see the processes are running as a root in container environment. 
Do you think that still have issues ? 
Here is the processes running inside container:

bash-4.2# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Dec27 ?        00:00:00 /bin/bash /bootstrap.sh
root         7     1  0 Dec27 ?        00:00:00 /usr/sbin/dovecot -F -c 
/etc/dovecot/director.conf
root         8     1  0 Dec27 ?        00:00:00 /usr/sbin/dovecot -F
root         9     1  0 Dec27 ?        00:00:00 sleep 36000d
dovecot     10     8  0 Dec27 ?        00:00:00 dovecot-Dovecot/anvil
dovecot     14     7  0 Dec27 ?        00:00:00 dovecot-Director/anvil
root       267     8  0 Dec27 ?        00:00:00 dovecot-Dovecot/log
root       269     8  0 Dec27 ?        00:00:08 dovecot-Dovecot/config
root       281     7  0 Dec27 ?        00:00:00 dovecot-Director/log
root       283     7  0 Dec27 ?        00:00:00 dovecot-Director/config




Thanks & Regards,
Naveen 



On Mon, Dec 30, 2019 at 2:56 PM Marc Roos <M.Roos at f1-outsourcing.eu> 
wrote:


	 
	I have noticed several issues with dovecot, trying to run it 
without 
	root. Which is preferable in any container environment. Maybe you 
would 
	like me to document these somewhere? So at some point they can be 
	applied.
	
	
	-----Original Message-----
	From: Naveen Reddy [mailto:naveenreddy99 at gmail.com] 
	Sent: 30 December 2019 09:02
	To: Aki Tuomi
	Cc: dovecot at dovecot.org
	Subject: Re: Issue running Dovecot in Docker Container
	
	Hi, I can see those values correctly with the doveconf -nc command. 
Here 
	is the part of output:
	
	bash-4.2# doveconf -nc /etc/dovecot/director.conf # 2.2.36 
(1f10bfa63): 
	/etc/dovecot/director.conf # OS: Linux 
4.1.12-112.14.11.el7uek.x86_64 
	x86_64 Red Hat Enterprise Linux Server release 7.7 (Maipo) # 
Hostname: 
	69b492645b56 auth_debug = yes auth_default_realm = xxxxxxxxxxxxxxxx 

	auth_verbose = yes base_dir = /var/run/dovecot_director 
debug_log_path = 
	$log_path director_mail_servers = xxxxxxxxxxxxxxxxxx 
director_servers = 
	xxxxxxxxxxxxxxxxxxxx disable_plaintext_auth = no first_valid_uid = 
1000 
	hostname = xxxxxxxxxxxxxxxxxxxx info_log_path = $log_path 
instance_name 
	= Director lmtp_proxy = yes log_path = /dovecot.log 
	login_log_format_elements = user=<%u> method=%m rip=%r lip=%l 
mpid=%e %c 
	home=%h
	
	Thanks & Regards,
	Naveen 
	
	
	
	On Fri, Dec 27, 2019 at 10:08 PM Aki Tuomi 
<aki.tuomi at open-xchange.com> 
	wrote:
	
	
	
	        Can you check with `doveconf -nc /path/to/director.conf` 
that the 
	values are actually set correctly? 
	
	        Aki 
	
	                On 27/12/2019 15:34 Naveen Reddy 
<naveenreddy99 at gmail.com> 
	wrote: 
	
	
	
	                The conf.d files are not included. I have added  
!include 
	conf.d/*.conf to director.conf and reloaded the dovecot and 
director 
	services.  
	
	                conf.d/10-logging also has the following lines: 
	
	                log_path = /dovecot.log 
	                info_log_path = $log_path 
	                debug_log_path = $log_path 
	
	
	                The /dovecot.log file still shows empty.  Nothing 
is being 
	logged to that file. 
	
	
	                Thanks & Regards, 
	                Naveen 
	
	
	
	                On Thu, Dec 26, 2019 at 10:52 PM Aki Tuomi < 
	aki.tuomi at open-xchange.com> wrote: 
	
	
	
	                        Do you have !include or !try_include in 
director.conf? 
	The conf.d files are not included otherwise. 
	
	                        Aki 
	
	                                On 26/12/2019 11:27 Naveen Reddy < 
	naveenreddy99 at gmail.com> wrote: 
	
	
	                                I have tried these in the 
10-logging.conf but no 
	luck. There is nothing logged to the file. 
	
	                                bash-4.2# ps -ef
	                                UID        PID  PPID  C STIME TTY   
       TIME CMD
	                                root         1     0  0 Dec23 ?     
   00:00:00 
	/bin/bash /bootstrap.sh
	                                root         8     1  0 Dec23 ?     
   00:00:00 
	sleep 36000d
	                                root     15681     0  0 08:51 pts/1 
   00:00:00 bash
	                                root     16340     0  0 09:19 ?     
   00:00:00 
	/usr/sbin/dovecot -c /etc/dovecot/director.conf
	                                dovecot  16341 16340  0 09:19 ?     
   00:00:00 
	dovecot-Director/anvil
	                                root     16342 16340  0 09:19 ?     
   00:00:00 
	dovecot-Director/log
	                                root     16344 16340  0 09:19 ?     
   00:00:00 
	dovecot-Director/config
	                                root     16390     0  0 09:22 ?     
   00:00:00 
	/usr/sbin/dovecot -c /etc/dovecot/dovecot.conf
	                                dovecot  16391 16390  0 09:22 ?     
   00:00:00 
	dovecot-Dovecot/anvil
	                                root     16392 16390  0 09:22 ?     
   00:00:00 
	dovecot-Dovecot/log
	                                root     16394 16390  0 09:22 ?     
   00:00:00 
	dovecot-Dovecot/config
	                                root     16406 15681  0 09:22 pts/1 
   00:00:00 ps 
	-ef 
	
	
	                                The below processes are not 
starting as well.  
	
	                                dovecot-Dovecot/auth
	                                dovecot-Dovecot/ssl-params
	                                dovecot-Director/lmtp
	                                dovecot-Director/ssl-params
	                                dovecot-Director/imap-login 
director
	
	                                Thanks & Regards, 
	                                Naveen 
	
	
	
	                                On Tue, Dec 24, 2019 at 10:54 PM 
Aki Tuomi < 
	aki.tuomi at open-xchange.com> wrote: 
	
	
	
	
	
	                                                On 24/12/2019 12:33 
Naveen Reddy < 
	naveenreddy99 at gmail.com> wrote: 
	
	
	                                                Hello,  
	
	                                                We need help with 
an issue that we are 
	running into when we are trying to run Dovecot in Docker container. 
 
	                                                Also how do we 
enable debugging for 
	dovecot. Logs doesn't show any info about the issue. 
	
	                                                Below processes are 
not running when a 
	Director service is started: 
	
	                                                
dovecot-Dovecot/auth
	                                                
dovecot-Dovecot/ssl-params
	                                                
dovecot-Director/lmtp
	                                                
dovecot-Director/ssl-params
	                                                
dovecot-Director/imap-login director
	
	                                                Here is the version 
that I'm running and 
	including the dovecot -n output below: 
	
	                                                bash-4.2# dovecot 
--version
	                                                2.2.36 
	
	
	                                                bash-4.2# dovecot 
-n
	                                                # 2.2.36 (xxxxx): 
	/etc/dovecot/dovecot.conf
	                                                # OS: Linux 
4.1.12-112.14.11.el7uek.x86_64 
	x86_64 Red Hat Enterprise Linux Server release 7.7 (Maipo)
	                                                # Hostname: XXXXXXX
	                                                auth_debug = yes
	                                                auth_default_realm 
= xxxxxxxxxxxx
	                                                auth_verbose = yes
	                                                
disable_plaintext_auth = no
	                                                dotlock_use_excl = 
no
	                                                hostname = 
xxxxxxxxxxxxxxxx
	                                                instance_name = 
Dovecot
	                                                
login_log_format_elements = user=<%u> 
	method=%m rip=%r lip=%l mpid=%e %c home=% domain=%d
	                                                mail_debug = yes
	                                                mail_fsync = always
	                                                mail_gid = imapd
	                                                mail_home = 
/xxxxxxxxxxx/%d/%n
	                                                mail_location = 
dbox:~/
	                                                mail_uid = imapd
	                                                mmap_disable = yes
	                                                passdb {
	                                                  args = 
	/etc/dovecot/lookups/ldap-pass.conf
	                                                  driver = ldap
	                                                }
	                                                passdb {
	                                                  args = 
/etc/dovecot/lookups/xxxx.conf
	                                                  driver = ldap
	                                                }
	                                                plugin {
	                                                  stats_refresh = 
30 secs
	                                                  stats_track_cmds 
= yes
	                                                }
	                                                protocols = imap 
lmtp
	                                                service auth {
	                                                  client_limit = 
4096
	                                                  unix_listener 
auth-userdb {
	                                                    mode = 0777
	                                                  }
	                                                }
	                                                service imap-login 
{
	                                                  chroot = login
	                                                  client_limit = 0
	                                                  
drop_priv_before_exec = no
	                                                  executable = 
imap-login
	                                                  extra_groups =
	                                                  group =
	                                                  idle_kill = 0
	                                                  inet_listener 
imap {
	                                                    address =
	                                                    port = 1144
	                                                    ssl = no
	                                                  }
	                                                  inet_listener 
imaps {
	                                                    address =
	                                                    port = 994
	                                                    ssl = yes
	                                                  }
	                                                  privileged_group 
=
	                                                  process_limit = 0
	                                                  process_min_avail 
= 0
	                                                  protocol = imap
	                                                  service_count = 
50
	                                                  type = login
	                                                  user = 
$default_login_user
	                                                  vsz_limit = 
18446744073709551615 B
	                                                }
	                                                service imap {
	                                                  service_count = 
50
	                                                }
	                                                service lmtp {
	                                                  executable = lmtp 
-L
	                                                  inet_listener 
lmtp {
	                                                    address =
	                                                    port = 10025
	                                                  }
	                                                }
	                                                service stats {
	                                                  fifo_listener 
stats-mail {
	                                                    mode = 0600
	                                                    user = imapd
	                                                  }
	                                                }
	                                                ssl_cert = 
</xxxxxxx/cert/dovecot.pem
	                                                ssl_cipher_list = 
XXXXXX
	                                                ssl_key =  # 
hidden, use -P to show it
	                                                ssl_protocols = 
XXXXX
	                                                userdb {
	                                                  args = 
	/etc/dovecot/lookups/ldap-user.conf
	                                                  driver = ldap
	                                                }
	                                                userdb {
	                                                  args = 
/etc/dovecot/lookups/xxxxxxx.conf
	                                                  driver = ldap
	                                                } 
	
	
	                                                Thanks & Regards, 
	                                                Naveen 
	
	
	
	                                        Try setting 
	
	                                        log_path=/dovecot.log 
	                                        info_log_path=$log_path 
	                                        debug_log_path=$log_path 
	                                        ---
	                                        Aki Tuomi
	
	
	                        ---
	                        Aki Tuomi
	
	
	        ---
	        Aki Tuomi
	
	
	




More information about the dovecot mailing list