Closed kariae closed 5 years ago
I’m pretty sure it cannot read the cert or key.
Am 03.06.2019 um 10:07 schrieb Zakariae Filali notifications@github.com:
Describe the bug, try to make it reproducible I installed mailcow on a fresh Ubuntu 18.04, I checked the ports and the ssl are fine since I can access the https://mail..., but the dovecot container keeps on restarting
System information and quick debugging General logs:
Please take a look at the documentation. dovecot-mailcow_1 | 70_HS_body.cf dovecot-mailcow_1 | 70_HS_header.cf dovecot-mailcow_1 | 2019-06-03 07:52:42,595 CRIT Set uid to user 0 dovecot-mailcow_1 | 2019-06-03 07:52:42,600 INFO supervisord started with pid 1 dovecot-mailcow_1 | 2019-06-03 07:52:43,603 INFO spawned: 'processes' with pid 88 dovecot-mailcow_1 | 2019-06-03 07:52:43,606 INFO spawned: 'cron' with pid 89 dovecot-mailcow_1 | 2019-06-03 07:52:43,609 INFO spawned: 'dovecot' with pid 90 dovecot-mailcow_1 | 2019-06-03 07:52:43,612 INFO spawned: 'syslog-ng' with pid 91 dovecot-mailcow_1 | Jun 3 07:52:43 mail syslog-ng[91]: syslog-ng starting up; version='3.8.1' dovecot-mailcow_1 | 2019-06-03 07:52:43,705 INFO exited: dovecot (exit status 89; not expected) dovecot-mailcow_1 | 2019-06-03 07:52:44,706 INFO success: processes entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) dovecot-mailcow_1 | 2019-06-03 07:52:44,706 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) dovecot-mailcow_1 | 2019-06-03 07:52:44,708 INFO spawned: 'dovecot' with pid 96 dovecot-mailcow_1 | 2019-06-03 07:52:44,709 INFO success: syslog-ng entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) dovecot-mailcow_1 | 2019-06-03 07:52:44,770 INFO exited: dovecot (exit status 89; not expected) dovecot-mailcow_1 | 2019-06-03 07:52:46,775 INFO spawned: 'dovecot' with pid 98 dovecot-mailcow_1 | 2019-06-03 07:52:46,833 INFO exited: dovecot (exit status 89; not expected) dovecot-mailcow_1 | 2019-06-03 07:52:49,838 INFO spawned: 'dovecot' with pid 100 dovecot-mailcow_1 | 2019-06-03 07:52:49,899 INFO exited: dovecot (exit status 89; not expected) dovecot-mailcow_1 | 2019-06-03 07:52:49,900 INFO gave up: dovecot entered FATAL state, too many start retries too quickly dovecot-mailcow_1 | 2019-06-03 07:52:50,904 WARN received SIGQUIT indicating exit request dovecot-mailcow_1 | 2019-06-03 07:52:50,905 INFO waiting for cron, processes, syslog-ng to die dovecot-mailcow_1 | Jun 3 07:52:50 mail syslog-ng[91]: syslog-ng shutting down; version='3.8.1' dovecot-mailcow_1 | 2019-06-03 07:52:51,008 INFO stopped: syslog-ng (exit status 0) dovecot-mailcow_1 | 2019-06-03 07:52:52,010 INFO stopped: cron (terminated by SIGTERM) dovecot-mailcow_1 | 2019-06-03 07:52:52,011 INFO stopped: processes (terminated by SIGTERM) Further information (where applicable):
Your OS (is Apparmor or SELinux active?) Ubuntu 18.04 Your virtualization technology (KVM/QEMU, Xen, VMware, VirtualBox etc.) it's a baremetal server Don't try to run mailcow on a Synology or QNAP NAS, do you? No Docker and Docker Compose version: Docker version 18.09.6, docker-compose version 1.24.0 Output of git diff origin/master, any other changes to the code? services:
- acme.sh:
- build: acme.sh
- environment:
- ACME_DNS=${ACME_DNS}
- ACME_HOST=${MAILCOW_HOSTNAME}
- CF_Key=${CF_KEY}
- CF_Email=${CF_EMAIL}
- ACCOUNTEMAIL=${CF_EMAIL}
- volumes:
- ./data/acme:/acme.sh
- ./data/assets/ssl/:/certs
unbound-mailcow: image: mailcow/unbound:1.7 build: ./data/Dockerfiles/unbound @@ -267,6 +279,7 @@ services:
nginx-mailcow: depends_on:
- acme.sh
- sogo-mailcow
- php-fpm-mailcow
- redis-mailcow @@ -330,7 +343,7 @@ services:
- TZ=${TZ} volumes:
- ./data/web/.well-known/acme-challenge:/var/www/acme:rw
- ./data/assets/ssl:/var/lib/acme/:rw
- ./data/assets/ssl:/var/lib/acme/:rw
- ./data/assets/ssl-example:/var/lib/ssl-example/:ro - mysql-socket-vol-1:/var/run/mysqld/
restart: always @@ -441,7 +454,7 @@ services:
- postfix-mailcow
- memcached-mailcow
- nginx-mailcow
- acme-mailcow
- acme-mailcow
- netfilter-mailcow - watchdog-mailcow - dockerapi-mailcow
All third-party firewalls and custom iptables rules are unsupported. Please check the Docker docs about how to use Docker with your own ruleset. Nevertheless, iptabels output can help us to help you: iptables -L -vn, ip6tables -L -vn, iptables -L -vn -t nat and ip6tables -L -vn -t nat All ports are open using ufw Reverse proxy? If you think this problem is related to your reverse proxy, please post your configuration. No reverse proxy Browser (if it's a Web UI issue) - please clean your browser cache and try again, problem persists? Check docker exec -it $(docker ps -qf name=acme-mailcow) dig +short stackoverflow.com @172.22.1.254 (set the IP accordingly, if you changed the internal mailcow network) and docker exec -it $(docker ps -qf name=acme-mailcow) dig +short stackoverflow.com @1.1.1.1 - output? Timeout? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
I was thinking the same thing, but an ls data/assets/ssl
gives me this:
cert.pem key.pem
which I think it's fine
Are these files sym links? This would not work.
No they are files, maybe a permissions issue?
docker-compose exec dovecot-mailcow ls -als /etc/ssl/mail/
total 16
4 drwxr-xr-x 2 root root 4096 Jun 2 15:20 .
4 drwxr-xr-x 1 root root 4096 Jun 3 07:52 ..
4 -rw-r--r-- 1 root root 1911 Jun 2 15:17 cert.pem
4 -rw------- 1 root root 1675 Jun 2 15:17 key.pem
Can you try this? =>
docker-compose exec dovecot-mailcow doveconf
You probably need to run it a few times as the container keeps restarting. :)
# 2.3.6 (7eab80676): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.6 (92dc263a)
# OS: Linux 4.9.93-mainline-rev1 x86_64 Debian 9.6
# Hostname: mail.backupr.io
doveconf: Error: t_readlink(/usr/local/var/run/dovecot/dovecot.conf) failed: readlink() failed: No such file or directory
# NOTE: Send doveconf -n output instead when asking for help.
auth_anonymous_username = anonymous
auth_cache_negative_ttl = 1 hours
auth_cache_size = 0
auth_cache_ttl = 1 hours
auth_cache_verify_password_with_worker = no
auth_debug = yes
auth_debug_passwords = yes
auth_default_realm =
auth_failure_delay = 2 secs
auth_gssapi_hostname =
auth_krb5_keytab =
auth_master_user_separator = *
auth_mechanisms = plain login
auth_policy_check_after_auth = yes
auth_policy_check_before_auth = yes
auth_policy_hash_mech = sha256
auth_policy_hash_nonce =
auth_policy_hash_truncate = 12
auth_policy_log_only = no
auth_policy_reject_on_fail = no
auth_policy_report_after_auth = yes
auth_policy_request_attributes = login=%{requested_username} pwhash=%{hashed_password} remote=%{rip} device_id=%{client_id} protocol=%s
auth_policy_server_api_header =
auth_policy_server_timeout_msecs = 2000
auth_policy_server_url =
auth_proxy_self =
auth_realms =
auth_socket_path = auth-userdb
auth_ssl_require_client_cert = no
auth_ssl_username_from_cert = no
auth_stats = no
auth_use_winbind = no
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu
auth_username_translation =
auth_verbose = yes
auth_verbose_passwords = yes
auth_winbind_helper_path = /usr/bin/ntlm_auth
auth_worker_max_count = 30
base_dir = /usr/local/var/run/dovecot
config_cache_size = 1 M
debug_log_path =
default_client_limit = 10400
default_idle_kill = 1 mins
default_internal_group = dovecot
default_internal_user = dovecot
default_login_user = dovenull
default_process_limit = 100
default_vsz_limit = 1 G
deliver_log_format = msgid=%m: %$
dict {
sieve_after = mysql:/usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_after.conf
sieve_before = mysql:/usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_before.conf
sqlquota = mysql:/usr/local/etc/dovecot/sql/dovecot-dict-sql-quota.conf
}
dict_db_config =
director_flush_socket =
director_mail_servers =
director_max_parallel_kicks = 100
director_max_parallel_moves = 100
director_output_buffer_size = 10 M
director_ping_idle_timeout = 30 secs
director_ping_max_timeout = 1 mins
director_servers =
director_user_expire = 15 mins
director_user_kick_delay = 2 secs
director_username_hash = %u
disable_plaintext_auth = yes
dotlock_use_excl = yes
doveadm_allowed_commands =
doveadm_api_key =
doveadm_http_rawlog_dir =
doveadm_password =
doveadm_port = 0
doveadm_socket_path = doveadm-server
doveadm_username = doveadm
doveadm_worker_count = 0
dsync_alt_char = _
dsync_commit_msgs_interval = 100
dsync_features =
dsync_hashed_headers = Date Message-ID
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u -U
first_valid_gid = 1
first_valid_uid = 500
haproxy_timeout = 3 secs
haproxy_trusted_networks =
hostname =
imap_capability =
imap_client_workarounds =
imap_fetch_failure = disconnect-immediately
imap_hibernate_timeout = 0
imap_id_log =
imap_id_retain = no
imap_id_send = name *
imap_idle_notify_interval = 2 mins
imap_literal_minus = no
imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} trashed=%{trashed} hdr_count=%{fetch_hdr_count} hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count} body_bytes=%{fetch_body_bytes}
imap_max_line_length = 2 M
imap_metadata = no
imap_urlauth_host =
imap_urlauth_logout_format = in=%i out=%o
imap_urlauth_port = 143
imapc_cmd_timeout = 5 mins
imapc_connection_retry_count = 1
imapc_connection_retry_interval = 1 secs
imapc_features =
imapc_host =
imapc_list_prefix =
imapc_master_user =
imapc_max_idle_time = 29 mins
imapc_max_line_length = 0
imapc_password =
imapc_port = 143
imapc_rawlog_dir =
imapc_sasl_mechanisms =
imapc_ssl = no
imapc_ssl_verify = yes
imapc_user =
import_environment = TZ CORE_OUTOFMEM CORE_ERROR
info_log_path =
instance_name = dovecot
last_valid_gid = 0
last_valid_uid = 0
lda_mailbox_autocreate = no
lda_mailbox_autosubscribe = no
lda_original_recipient_header =
libexec_dir = /usr/local/libexec/dovecot
listen = *,[::]
lmtp_hdr_delivery_address = final
lmtp_proxy = no
lmtp_proxy_rawlog_dir =
lmtp_rawlog_dir =
lmtp_rcpt_check_quota = no
lmtp_save_to_detail_mailbox = no
lmtp_user_concurrency_limit = 0
lock_method = fcntl
log_core_filter =
log_debug =
log_path = syslog
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_access_sockets =
login_greeting = Dovecot ready.
login_log_format = %$: %s
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
login_plugin_dir = /usr/local/lib/dovecot/login
login_plugins =
login_proxy_max_disconnect_delay = 0
login_proxy_notify_path = proxy-notify
login_source_ips =
login_trusted_networks =
mail_access_groups =
mail_always_cache_fields =
mail_attachment_detection_options =
mail_attachment_dir = /var/attachments
mail_attachment_fs = crypt:set_prefix=mail_crypt_global:posix:
mail_attachment_hash = %{sha1}
mail_attachment_min_size = 128 k
mail_attribute_dict = file:%h/dovecot-attributes
mail_cache_compress_continued_percentage = 200
mail_cache_compress_delete_percentage = 20
mail_cache_compress_header_continue_count = 4
mail_cache_compress_min_size = 32 k
mail_cache_fields = flags
mail_cache_min_mail_count = 0
mail_cache_record_max_size = 64 k
mail_cache_unaccessed_field_drop = 30 days
mail_chroot =
mail_debug = yes
mail_fsync = optimized
mail_full_filesystem_access = no
mail_gid =
mail_home = /var/vmail/%d/%n
mail_index_log2_max_age = 2 days
mail_index_log_rotate_max_size = 1 M
mail_index_log_rotate_min_age = 5 mins
mail_index_log_rotate_min_size = 32 k
mail_index_rewrite_max_log_bytes = 128 k
mail_index_rewrite_min_log_bytes = 8 k
mail_location = maildir:~/
mail_log_prefix = "%s(%u)<%{pid}><%{session}>: "
mail_max_keyword_length = 50
mail_max_lock_timeout = 0
mail_max_userip_connections = 500
mail_never_cache_fields = imap.envelope
mail_nfs_index = no
mail_nfs_storage = no
mail_plugin_dir = /usr/local/lib/dovecot
mail_plugins = </usr/local/etc/dovecot/mail_plugins
mail_prefetch_count = 30
mail_privileged_group =
mail_save_crlf = no
mail_server_admin =
mail_server_comment =
mail_shared_explicit_inbox = yes
mail_sort_max_read_count = 0
mail_temp_dir = /tmp
mail_temp_scan_interval = 1 weeks
mail_uid =
mail_vsize_bg_after_count = 0
mailbox_idle_check_interval = 30 secs
mailbox_list_index = yes
mailbox_list_index_include_inbox = no
mailbox_list_index_very_dirty_syncs = no
maildir_broken_filename_sizes = no
maildir_copy_with_hardlinks = yes
maildir_empty_new = no
maildir_stat_dirs = no
maildir_very_dirty_syncs = no
managesieve_client_workarounds =
managesieve_implementation_string = Dovecot Pigeonhole
managesieve_logout_format = bytes=%i/%o
managesieve_max_compile_errors = 5
managesieve_max_line_length = 65536
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vacation-seconds imapflags notify imapsieve vnd.dovecot.imapsieve
master_user_separator =
mbox_dirty_syncs = yes
mbox_dotlock_change_timeout = 2 mins
mbox_lazy_writes = yes
mbox_lock_timeout = 5 mins
mbox_md5 = apop3d
mbox_min_index_size = 0
mbox_read_locks = fcntl
mbox_very_dirty_syncs = no
mbox_write_locks = dotlock fcntl
mdbox_preallocate_space = no
mdbox_rotate_interval = 0
mdbox_rotate_size = 10 M
mmap_disable = no
namespace {
disabled = no
hidden = no
ignore_on_failure = no
inbox = no
list = children
location = maildir:%%h/Maildir:INDEX=~/Maildir/Shared/%%u;CONTROL=~/Maildir/Shared/%%u
order = 0
prefix = Shared/%%u/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
disabled = no
hidden = no
ignore_on_failure = no
inbox = yes
list = yes
location =
mailbox Archief {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Archiv {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Archive {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Archives {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Arquivo {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Arquivos {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Concepten {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Drafts
}
mailbox "Deleted Items" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox "Deleted Messages" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Drafts {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Drafts
}
mailbox Entwürfe {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Drafts
}
mailbox Enviados {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Gelöschte Elemente" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox "Gelöschte Objekte" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Gesendet {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Gesendete Elemente" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Gesendete Objekte" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Itens Enviados" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Itens Excluídos" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox "Itens Excluidos" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Junk-E-Mail {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox Junk {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox "Junk E-Mail" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox Koncepty {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Drafts
}
mailbox Lixeira {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox "Lixo Eletrônico" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox "Nevyžádaná pošta" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox "Odeslaná pošta" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Odstraněná pošta" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox "Ongewenste e-mail" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox Papierkorb {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Prullenbak {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Rascunhos {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Drafts
}
mailbox Rubbish {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Sent {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Sent Items" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Sent Messages" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox Spam {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox Trash {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox "Verwijderde items" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
mailbox Verzonden {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox "Verzonden items" {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
order = 0
prefix =
separator = /
subscriptions = yes
type = private
}
old_stats_carbon_interval = 30 secs
old_stats_carbon_name =
old_stats_carbon_server =
old_stats_command_min_time = 1 mins
old_stats_domain_min_time = 12 hours
old_stats_ip_min_time = 12 hours
old_stats_memory_limit = 16 M
old_stats_session_min_time = 15 mins
old_stats_user_min_time = 1 hours
passdb {
args = /usr/local/etc/dovecot/dovecot-master.passwd
auth_verbose = default
default_fields =
deny = no
driver = passwd-file
master = yes
mechanisms =
name =
override_fields =
pass = yes
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = never
username_filter =
}
passdb {
args = /usr/local/etc/dovecot/sql/dovecot-dict-sql-passdb.conf
auth_verbose = default
default_fields =
deny = no
driver = sql
master = no
mechanisms =
name =
override_fields =
pass = no
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = never
username_filter =
}
passdb {
args = /usr/local/etc/dovecot/dovecot-master.passwd
auth_verbose = default
default_fields =
deny = no
driver = passwd-file
master = no
mechanisms =
name =
override_fields =
pass = no
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = authenticated
username_filter =
}
plugin {
acl = vfile
acl_anyone = </usr/local/etc/dovecot/acl_anyone
acl_shared_dict = file:/var/vmail/shared-mailboxes.db
fts = solr
fts_autoindex = yes
fts_solr = url=http://solr:8983/solr/dovecot-fts/
imapsieve_mailbox1_before = file:/usr/local/lib/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_name = *
listescape_char = \
mail_crypt_global_private_key = # hidden, use -P to show it
mail_crypt_global_public_key = # hidden, use -P to show it
mail_crypt_save_version = 2
mail_log_cached_only = yes
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size
quota = dict:Userquota::proxy::sqlquota
quota_rule2 = Trash:storage=+100%%
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve = /var/vmail/sieve/%u.sieve
sieve_after = dict:proxy::sieve_after;name=active;bindir=/var/vmail/sieve_after_bindir
sieve_after2 = /var/vmail/sieve/global.sieve
sieve_before = dict:proxy::sieve_before;name=active;bindir=/var/vmail/sieve_before_bindir
sieve_extensions = +notify +imapflags +vacation-seconds
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
sieve_max_redirects = 30
sieve_max_script_size = 1M
sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_quota_max_scripts = 0
sieve_quota_max_storage = 0
sieve_redirect_envelope_from = recipient
sieve_vacation_default_period = 60s
sieve_vacation_max_period = 0
sieve_vacation_min_period = 5s
sieve_vacation_send_from_recipient = yes
zlib_save = lz4
}
pop3_client_workarounds =
pop3_delete_type = default
pop3_deleted_flag =
pop3_enable_last = no
pop3_fast_size_lookups = no
pop3_lock_session = no
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
pop3_no_flag_updates = no
pop3_reuse_xuidl = no
pop3_save_uidl = no
pop3_uidl_duplicates = allow
pop3_uidl_format = %08Xu%08Xv
pop3c_features =
pop3c_host =
pop3c_master_user =
pop3c_password =
pop3c_port = 110
pop3c_quick_received_date = no
pop3c_rawlog_dir =
pop3c_ssl = no
pop3c_ssl_verify = yes
pop3c_user = %u
postmaster_address = postmaster@%{if;%d;ne;;%d;%{hostname}}
protocols = imap sieve lmtp pop3
quota_full_tempfail = no
rawlog_dir =
recipient_delimiter = +
rejection_reason = Your message to <%t> was automatically rejected:%n%r
rejection_subject = Rejected: %s
replication_dsync_parameters = -d -N -l 30 -U
replication_full_sync_interval = 1 days
replication_max_conns = 10
replicator_host = replicator
replicator_port = 0
sendmail_path = /usr/sbin/sendmail
service aggregator {
chroot = .
client_limit = 0
drop_priv_before_exec = no
executable = aggregator
extra_groups =
fifo_listener replication-notify-fifo {
group =
mode = 0600
user =
}
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener replication-notify {
group =
mode = 0600
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service anvil {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = anvil
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 1
protocol =
service_count = 0
type = anvil
unix_listener anvil-auth-penalty {
group =
mode = 0600
user =
}
unix_listener anvil {
group =
mode = 0600
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service auth-worker {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = auth -w
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 1
type =
unix_listener auth-worker {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service auth {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = auth
extra_groups =
group =
idle_kill = 0
inet_listener auth-inet {
address =
haproxy = no
port = 10001
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener auth-client {
group =
mode = 0600
user = $default_internal_user
}
unix_listener auth-login {
group =
mode = 0600
user = $default_internal_user
}
unix_listener auth-master {
group =
mode = 0600
user = vmail
}
unix_listener auth-userdb {
group =
mode = 0600
user = vmail
}
unix_listener login/login {
group =
mode = 0666
user =
}
unix_listener token-login/tokenlogin {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service config {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = config
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type = config
unix_listener config {
group = vmail
mode = 0660
user = root
}
user =
vsz_limit = 18446744073709551615 B
}
service dict-async {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = dict
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener dict-async {
group = $default_internal_group
mode = 0660
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service dict {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = dict
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener dict {
group = vmail
mode = 0660
user = vmail
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service director {
chroot = .
client_limit = 0
drop_priv_before_exec = no
executable = director
extra_groups =
fifo_listener login/proxy-notify {
group =
mode = 00
user =
}
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener director-admin {
group =
mode = 0600
user =
}
unix_listener login/director {
group =
mode = 00
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service dns_client {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = dns-client
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener dns-client {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service doveadm {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = doveadm-server
extra_groups = $default_internal_group
group =
idle_kill = 0
inet_listener {
address =
haproxy = no
port = 12345
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 1
type =
unix_listener doveadm-server {
group =
mode = 0600
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service imap-hibernate {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = imap-hibernate
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = imap
service_count = 0
type =
unix_listener imap-hibernate {
group = $default_internal_group
mode = 0660
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
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 =
haproxy = no
port = 143
reuse_port = no
ssl = no
}
inet_listener imaps {
address =
haproxy = no
port = 993
reuse_port = no
ssl = yes
}
privileged_group =
process_limit = 10000
process_min_avail = 0
protocol = imap
service_count = 1
type = login
user = dovenull
vsz_limit = 1 G
}
service imap-postlogin {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = script-login /usr/local/bin/postlogin.sh
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener imap-postlogin {
group =
mode = 0600
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service imap-urlauth-login {
chroot = token-login
client_limit = 0
drop_priv_before_exec = no
executable = imap-urlauth-login
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = imap
service_count = 1
type = login
unix_listener imap-urlauth {
group =
mode = 0666
user =
}
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service imap-urlauth-worker {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = imap-urlauth-worker
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type =
unix_listener imap-urlauth-worker {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service imap-urlauth {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = imap-urlauth
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type =
unix_listener token-login/imap-urlauth {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service imap {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = imap imap-postlogin
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type =
unix_listener imap-master {
group =
mode = 0600
user =
}
unix_listener login/imap {
group =
mode = 0666
user =
}
user = vmail
vsz_limit = 1 G
}
service indexer-worker {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = indexer-worker
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 10
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener indexer-worker {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service indexer {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = indexer
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener indexer {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service ipc {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = ipc
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener ipc {
group =
mode = 0600
user = $default_internal_user
}
unix_listener login/ipc-proxy {
group =
mode = 0600
user = $default_login_user
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service lmtp {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = lmtp
extra_groups = $default_internal_group
group =
idle_kill = 0
inet_listener lmtp-inet {
address =
haproxy = no
port = 24
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = lmtp
service_count = 0
type =
unix_listener lmtp {
group =
mode = 0666
user =
}
user = vmail
vsz_limit = 18446744073709551615 B
}
service log {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = log
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type = log
unix_listener log-errors {
group =
mode = 0600
user =
}
user = dovenull
vsz_limit = 18446744073709551615 B
}
service managesieve-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = managesieve-login
extra_groups =
group =
idle_kill = 0
inet_listener sieve {
address =
haproxy = no
port = 4190
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 0
process_min_avail = 2
protocol = sieve
service_count = 1
type = login
user = $default_login_user
vsz_limit = 1 G
}
service managesieve {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = managesieve
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 256
process_min_avail = 0
protocol = sieve
service_count = 1
type =
unix_listener login/sieve {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service old-stats {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = old-stats
extra_groups =
fifo_listener old-stats-mail {
group =
mode = 0600
user =
}
fifo_listener old-stats-user {
group =
mode = 0600
user =
}
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener old-stats {
group =
mode = 0600
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service pop3-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = pop3-login
extra_groups =
group =
idle_kill = 0
inet_listener pop3 {
address =
haproxy = no
port = 110
reuse_port = no
ssl = no
}
inet_listener pop3s {
address =
haproxy = no
port = 995
reuse_port = no
ssl = yes
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = pop3
service_count = 1
type = login
user = $default_login_user
vsz_limit = 1 G
}
service pop3 {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = pop3
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = pop3
service_count = 1
type =
unix_listener login/pop3 {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service quota-warning {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = script /usr/local/bin/quota_notify.py
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener quota-warning {
group =
mode = 0600
user = vmail
}
user = vmail
vsz_limit = 18446744073709551615 B
}
service replicator {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = replicator
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener replicator-doveadm {
group =
mode = 00
user = $default_internal_user
}
unix_listener replicator {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service stats {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = stats
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener stats-reader {
group =
mode = 0600
user =
}
unix_listener stats-writer {
group = $default_internal_group
mode = 0660
user = vmail
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service submission-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = submission-login
extra_groups =
group =
idle_kill = 0
inet_listener submission {
address =
haproxy = no
port = 587
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = submission
service_count = 1
type = login
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service submission {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = submission
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = submission
service_count = 1
type =
unix_listener login/submission {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
shutdown_clients = yes
ssl = yes
ssl_alt_cert =
ssl_alt_key =
ssl_ca =
ssl_cert = </etc/ssl/mail/cert.pem
ssl_cert_username_field = commonName
ssl_cipher_list = ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:!eNULL:!3DES:!MD5:!PSK:!DSS:!RC4:!SEED:!IDEA:+HIGH:+MEDIUM
ssl_client_ca_dir =
ssl_client_ca_file =
ssl_client_cert =
ssl_client_key =
ssl_client_require_valid_cert = yes
ssl_crypto_device =
ssl_curve_list =
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_key_password =
ssl_min_protocol = TLSv1
ssl_options = no_compression
ssl_prefer_server_ciphers = yes
ssl_require_crl = yes
ssl_verify_client_cert = no
state_dir = /usr/local/var/lib/dovecot
stats_writer_socket_path = stats-writer
submission_client_workarounds =
submission_host = postfix:588
submission_logout_format = in=%i out=%o
submission_max_mail_size = 40 M
submission_max_recipients = 0
submission_relay_command_timeout = 5 mins
submission_relay_connect_timeout = 30 secs
submission_relay_host =
submission_relay_master_user =
submission_relay_max_idle_time = 29 mins
submission_relay_password =
submission_relay_port = 25
submission_relay_rawlog_dir =
submission_relay_ssl = no
submission_relay_ssl_verify = yes
submission_relay_trusted = no
submission_relay_user =
submission_ssl = no
submission_timeout = 30 secs
syslog_facility = mail
userdb {
args = /usr/local/etc/dovecot/dovecot-master.userdb
auth_verbose = default
default_fields =
driver = passwd-file
name =
override_fields =
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = never
}
userdb {
args = /usr/local/etc/dovecot/sql/dovecot-dict-sql-userdb.conf
auth_verbose = default
default_fields =
driver = sql
name =
override_fields =
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = found
}
valid_chroot_dirs =
verbose_proctitle = no
verbose_ssl = no
version_ignore = no
protocol imap {
imap_metadata = yes
mail_plugins = </usr/local/etc/dovecot/mail_plugins_imap
}
protocol lmtp {
auth_socket_path = /usr/local/var/run/dovecot/auth-master
mail_plugins = </usr/local/etc/dovecot/mail_plugins_lmtp
}
protocol sieve {
managesieve_logout_format = bytes=%i/%o
}
remote 127.0.0.1 {
disable_plaintext_auth = no
}
All images up to date? I don't know, hard to say. I'd say you revert your changes (start over clean) and use acme.sh in front of mailcow instead of changing the compose file.
Yes all the images are updated, any idea on how to put acme.sh in front?
You can run mailcow with a reverse proxy in front of it: https://mailcow.github.io/mailcow-dockerized-docs/firststeps-rp/
If you want to handle certs with acme.sh, you need to set SKIP_LETS_ENCRYPT=y in mailcow.conf.
You still need to copy the certificates acquired by acme.sh to mailcow with a post-hook script: https://mailcow.github.io/mailcow-dockerized-docs/firststeps-rp/#optional-post-hook-script-for-non-mailcow-acme-clients
That said, do you really need to use acme.sh? :)
The certificates are already in the folder so I don't think I'll need the post-hook script, I need acme.sh cause let's encrypt needs the port 80 to be opened to verify the domain name, and the port 80 in this server is already used :/
Bumping as I am also having this issue.
Manually rolling the docker-compose file back to 1.77 has fixed it for me.
It looks like it is a problem with the latest mailcow/dovecot image (1.78)
What's in your data/conf/dovecot/
folder?
@andryyy
ll data/conf/dovecot/ [797e97d6]
total 56K
-rw-r--r-- 1 root root 8 Jun 4 04:50 acl_anyone
-rw-r--r-- 1 root root 9.2K Jun 4 04:34 dovecot.conf
-rw-r--r-- 1 root root 78 Jun 4 04:50 dovecot-master.passwd
-rw-r--r-- 1 root root 46 Jun 4 04:50 dovecot-master.userdb
-rw-r--r-- 1 root root 553 Jun 4 04:34 global_sieve_after
-rw-r--r-- 1 root root 140 Jun 4 04:34 global_sieve_before
drwxr-xr-x 2 root root 4.0K Jun 4 04:34 ldap
-rw-r--r-- 1 root root 67 Jun 4 04:50 mail_plugins
-rw-r--r-- 1 root root 108 Jun 4 04:50 mail_plugins_imap
-rw-r--r-- 1 root root 57 Jun 4 04:50 mail_plugins_lmtp
-rw-r--r-- 1 root root 231 Jun 4 04:50 shared_namespace.conf
drwxr-xr-x 2 root root 4.0K Jun 4 04:50 sql
My data/conf/dovecot
folder is pretty much identical.
I have customised a few config settings but they don't explain this issue...
diff --git a/data/conf/postfix/main.cf b/data/conf/postfix/main.cf
-maximal_queue_lifetime = 1d
+maximal_queue_lifetime = 10d
-postscreen_dnsbl_sites = b.barracudacentral.org=127.0.0.2*7 dnsbl.inps.de=127.0.0.2*7 bl.mailspike.net=127.0.0.2*5 bl.mailspike.net=127.0.0.[10;11;12]*4 dnsbl.sorbs.net=127.0.0.10*8 dnsbl.sorbs.net=127.0.0.5*6 dnsbl.sorbs.net=127.0.0.7*3 dnsbl.sorbs.net=127.0.0.8*2 dnsbl.sorbs.net=127.0.0.6*2 dnsbl.sorbs.net=127.0.0.9*2 zen.spamhaus.org=127.0.0.[10;11]*8 zen.spamhaus.org=127.0.0.[4..7]*6 zen.spamhaus.org=127.0.0.3*4 zen.spamhaus.org=127.0.0.2*3 hostkarma.junkemailfilter.com=127.0.0.2*3 hostkarma.junkemailfilter.com=127.0.0.4*1 hostkarma.junkemailfilter.com=127.0.1.2*1 wl.mailspike.net=127.0.0.[18;19;20]*-2 hostkarma.junkemailfilter.com=127.0.0.1*-2
+postscreen_dnsbl_sites = b.barracudacentral.org=127.0.0.2*7 zen.spamhaus.org=127.0.0.[10;11]*8 zen.spamhaus.org=127.0.0.[4..7]*6 zen.spamhaus.org=127.0.0.3*4 zen.spamhaus.org=127.0.0.2*3
-smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, permit_mynetworks, permit_sasl_authenticated, reject_unlisted_sender, reject_unknown_sender_domain
+smtpd_sender_restrictions =
diff --git a/data/conf/postfix/master.cf b/data/conf/postfix/master.cf
- -o smtpd_sender_restrictions=permit_mynetworks,reject_unlisted_sender,reject_unknown_sender_domain
+ -o smtpd_sender_restrictions=permit_mynetworks,reject_unlisted_sender
I would need to see it on the machine, I cannot replicate this issue.
I've just updated to mailcow/dovecot 1.79 and I am no longer seeing issues.
@kariae If you still see problems after updating mailcow feel free to comment, otherwise it looks like this issue is solved.
Hello,
I just updated my Mailcow server, and now Dovecot is not working with Imap. Something to do with Auth. I really really need help with this.
I keep getting these errors:
auth: Fatal: passdb-lua: initialization failed: lua_load(/var/lib/dovecot/app-passdb.lua) failed: error loading file
PLEASE HELP!!!!! Thank you so much. I am preparing for finals week and this happened at the absolute worst time. Please please please.
I just updated my Mailcow server, and now Dovecot is not working
Can't you just downgrade to the version that was working for you?
I'm afraid I don't know how to do that. I would love to do that though and am very thankful for your reply. I am having panic attack after panic attack here, pulling my hair out. How do I downgrade?
These are the specific errors:
12/4/2019, 9:26:20 PM | crit | auth: Fatal: passdb-lua: initialization failed: lua_load(/var/lib/dovecot/app-passdb.lua) failed: error loading file |
---|---|---|
12/4/2019, 9:26:15 PM | warning | imap-login: Warning: Auth process not responding, delayed sending initial response (greeting): user=<>, rip= [I edited out IP addresses] , lip= [I edited out IP addresses], TLS, TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) |
12/4/2019, 9:26:01 PM | warning | imap-login: Warning: Auth process not responding, delayed sending initial response (greeting): user=<>, rip=[I edited out IP addresses], lip=[I edited out IP addresses], TLS, TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) |
12/4/2019, 9:26:00 PM | warning | imap-login: Warning: Auth process not responding, delayed sending initial response (greeting): user=<>, rip=[I edited out IP addresses], lip=[I edited out IP addresses], TLS, TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) |
12/4/2019, 9:25:50 PM | info | imap-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 30 secs): user=<>, rip=[I edited out IP addresses], lip=[I edited out IP addresses], TLS, TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) |
12/4/2019, 9:25:50 PM | err | imap-login: Error: auth-client: conn unix:login (pid=111,uid=0): Timeout waiting for handshake from auth server. my pid=635, input bytes=0 |
12/4/2019, 9:25:50 PM | info | imap-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 30 secs): user=<>, rip=[I edited out IP addresses], lip=[I edited out IP addresses], TLS, TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) |
12/4/2019, 9:25:50 PM | err | imap-login: Error: auth-client: conn unix:login (pid=111,uid=0): Timeout waiting for handshake from auth server. my pid=634, input bytes=0 |
12/4/2019, 9:25:50 PM | err | managesieve-login: Error: auth-client: conn unix:login (pid=111,uid=0): Timeout waiting for handshake from auth server. my pid=118, input bytes=0 |
12/4/2019, 9:25:50 PM | err | managesieve-login: Error: auth-client: conn unix:login (pid=111,uid=0): Timeout waiting for handshake from auth server. my pid=121, input bytes=0 |
12/4/2019, 9:25:30 PM | warning | imap-login: Warning: Auth process not responding, delayed sending initial response (greeting): user=<>, rip=[I edited out IP addresses], lip=[I edited out IP addresses], TLS, TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) |
I am in the idle of prepping for finals. I programmed this server for my best friend a couple years ago. It has had no problems up until now. I simply ran ./update.sh --ours , and this error started immediately after.
I will be indebted to you if you can help me solve this. The anxiety is so overwhelming. I needed o be in bed 3 hours ago for a class tomorrow. Im hyper paniccing.. Please please please help Thank you!!
I just updated my Mailcow server, and now Dovecot is not working
Can't you just downgrade to the version that was working for you?
I forgot to quote your reply in my last message. I'm dying of anxiety here. I really appreciate your reply and I really hope you can help.
I'm not mailcow maintainer and I have no idea about the internals but AFAIK you have a docker-compose.yml
somewhere.
What I would do is: edit the file to the last revision (you can see the changes here, so change mailcow/dovecot:1.101
to mailcow/dovecot:1.99
and mailcow/watchdog:1.65
to mailcow/watchdog:1.64
).
Afterwards I would do a docker-compose restart
.
It's none of my business but can't you fix the problem after your class tomorrow? Otherwise: emails will most probably delivered later. If you need the server, you should hope that someone in IRC or Forum can help you.
Good luck!
PS: Don't do such things when you don't have time (but I guess you learned that the hard way now anyway.
Never update anything on production without a snapshot beforehand.
I'm not mailcow maintainer and I have no idea about the internals but AFAIK you have a
docker-compose.yml
somewhere.What I would do is: edit the file to the last revision (you can see the changes here, so change
mailcow/dovecot:1.101
tomailcow/dovecot:1.99
andmailcow/watchdog:1.65
tomailcow/watchdog:1.64
).Afterwards I would do a
docker-compose restart
.It's none of my business but can't you fix the problem after your class tomorrow? Otherwise: emails will most probably delivered later. If you need the server, you should hope that someone in IRC or Forum can help you.
Good luck!
PS: Don't do such things when you don't have time (but I guess you learned that the hard way now anyway.
I just made those changes and did a restart. It seems that I am still getting the same error.
Normally I would fix it after class, but this is a server I made for one of my best friends. He depends on it and I can't leave him hanging.
I gotta do everything I can.
I really appreciate your reply. I'm so torn up with anxiety right now, but for a bit I felt some hope there. Thank you for your help. If you have any other suggestions I would greatly be indebted to you... Im going to try IRC and the forums. Iv never used them before. THis server has been rocksolid until now. THank you again
I'm not mailcow maintainer and I have no idea about the internals but AFAIK you have a
docker-compose.yml
somewhere.What I would do is: edit the file to the last revision (you can see the changes here, so change
mailcow/dovecot:1.101
tomailcow/dovecot:1.99
andmailcow/watchdog:1.65
tomailcow/watchdog:1.64
).Afterwards I would do a
docker-compose restart
.It's none of my business but can't you fix the problem after your class tomorrow? Otherwise: emails will most probably delivered later. If you need the server, you should hope that someone in IRC or Forum can help you.
Good luck!
PS: Don't do such things when you don't have time (but I guess you learned that the hard way now anyway.
These are the most recent errors I have.
12/4/2019, 11:59:19 PM | err | master: Error: service(auth): command startup failed, throttling for 8.000 secs |
---|---|---|
12/4/2019, 11:59:19 PM | crit | auth: Fatal: passdb-lua: initialization failed: lua_load(/var/lib/dovecot/app-passdb.lua) failed: error loading file |
12/4/2019, 11:59:14 PM | err | master: Error: service(auth): command startup failed, throttling for 4.000 secs |
12/4/2019, 11:59:14 PM | crit | auth: Fatal: passdb-lua: initialization failed: lua_load(/var/lib/dovecot/app-passdb.lua) failed: error loading file |
12/4/2019, 11:59:09 PM | err | master: Error: service(auth): command startup failed, throttling for 2.000 secs |
12/4/2019, 11:59:09 PM | crit | auth: Fatal: passdb-lua: initialization failed: lua_load(/var/lib/dovecot/app-passdb.lua) failed: error loading file |
If it is non-commercial and for a friend of yours...... mail me to info@servercow.de
I won't do hands-on for commercially used setups anymore, there are support packages available for this.
If it is non-commercial and for a friend of yours...... mail me to info@servercow.de
I won't do hands-on for commercially used setups anymore, there are support packages available for this.
I sent you an email. I made the server for his business. I am absolutely certain he will have no problems paying for the support, but if this isn't working when he wakes up in the morning, then I am going to be without a job. I would pay for the support, but my bank account is down to less than $60 USD. Im begging you Andryyy. I will ask him to purchase the support first thing in the morning.
I can paypal you every penny in my bank account if that helps. It seems like it would be a quick fix, but I just dont know what to do. I would be foreve indebted to you. Please man
Never update anything on production without a snapshot beforehand.
I agree with that but it's also not a good sign if a project doesn't even have git version tags or releases which would allow proper rolling back on the source. And it would probably also good if the docs would explain how to rollback a release in general in case there's a problem (or maybe I'm just not good in searching). :wink:
@andryyy will you add the problem and solution to the documentation if you found the issue (PS: thank you for mailcow :pray:)?
@andryyy Yes thank you for mailcow. It has put food on my table and helped me get through school. I will absolutely send you whatever I can via paypal or Zelle, etc. I have about $60 in my account. I am very neurodivergent and dont fit into regular jobs well, so this has helped me tremendously. I really need your help.
I won't accept a single Euro from you. :P
Andryyy IS THE GREATEST OF ALL TIME!!! Thank you so so so much. Your email has made me feel so much better. Thank you again.
It is a stupid race condition that is fixed by touching the Lua file before starting Dovecot. Took me quite a while to understand.
I don't really know why this happens though. I have honestly not a single system in support, that behaves like this. Could be related to slower i/o performance or just a bug in Dovecot?
Anyone with this problem: can you please update?
I have the very same issue. I am kinda clueless how to fix it ...
I have the very same issue. I am kinda clueless how to fix it ...
Hello Yatekii,
André fixed the issue by touching the Lua file before starting Dovecot.
I believe that the issue is also fixable by updating the kernel. This post explains how to do that: https://mailcow.email/2019/12/05/update-your-kernel-if-you-are-on-ubuntu-16-04/
Best, Chris H
Well, thanks for the hint with the kernel! Unfortunately I am on 18.04 and I have the 4.15 kernel ...
I will try and touch the file. I don't think that will fix postfix tho ... The update just killed everything ... kinda whacky.
Not sure if you ask for help.
You could start with posting logs etc.
Hi,
I also had this issue. I tracked it down to a "syntax" error in the dovecot lua authentication script. The issue was that my database password contained a " character in it. Once I changed the password it worked fine.
Brian
I see. :) you mean DBPASS? Thanks for your feedback
@Braintelligence I just updated and have the very same issue:
doveconf: Error: t_readlink(/var/run/dovecot/dovecot.conf) failed: readlink() failed: No such file or directory
I am using mailcow/dovecot:1.108
root@bastila:/opt/mailcow-dockerized# docker exec -ti 06aa769292f3 ls -lha /var/run/
total 20K
drwxr-xr-x 1 root root 4.0K Jan 12 17:05 .
drwxr-xr-x 1 root root 4.0K Jan 12 16:48 ..
-rw-r--r-- 1 root root 4 Jan 12 17:04 crond.pid
---------- 1 root root 0 Jan 12 16:48 crond.reboot
drwxrwxrwt 2 root root 4.0K Dec 24 01:00 lock
drwxrwxrwx 2 999 999 4.0K Jan 12 16:48 mysqld
-rw-rw-r-- 1 root utmp 0 Dec 24 01:00 utmp
fixed it by adding dhparams to the ssl folder:
root@bastila:/opt/mailcow-dockerized# ls -lha data/assets/ssl
total 20K
drwxr-xr-x 2 root root 4.0K Jan 12 17:13 .
drwxr-xr-x 8 root root 4.0K Jan 12 16:39 ..
-rw------- 1 root root 3.9K Jan 12 16:58 cert.pem
-rw-r--r-- 1 root root 424 Jan 12 17:13 dhparams.pem
-rw------- 1 root root 3.2K Jan 12 16:37 key.pem
There should be a file by default. :)
The dovecot.conf error is ok.
@andryyy can be. my issue was that I took https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ssl/#how-to-use-your-own-certificate too seriously. they talk only about cert and key.
so I replaced the whole folder which led to this issue. maybe it would be good to add a hint to the documentation for the minimum required files. Afterwards its obvious why it failed but tracing my steps to this point took a while ;)
I have the same problem and i think it is a timing problem with the start order. When i run "docker-compose restart dovecot-mailcow" after all containers started from the mailcow directory it will work fine.
Describe the bug, try to make it reproducible I installed mailcow on a fresh Ubuntu 18.04, I checked the ports and the ssl are fine since I can access the https://mail..., but the dovecot container keeps on restarting
System information and quick debugging General logs:
Full logs in gist
Further information (where applicable):
git diff origin/master
, any other changes to the code?unbound-mailcow: image: mailcow/unbound:1.7 build: ./data/Dockerfiles/unbound @@ -267,6 +279,7 @@ services:
nginx-mailcow: depends_on:
- ./data/assets/ssl:/var/lib/acme/:rw
restart: always @@ -441,7 +454,7 @@ services:
- acme-mailcow