diff --git a/docker/imap/imapd.conf b/docker/imap/imapd.conf index aa383d30..96c4629f 100644 --- a/docker/imap/imapd.conf +++ b/docker/imap/imapd.conf @@ -1,109 +1,110 @@ servername: imap-backend configdirectory: /var/lib/imap defaultpartition: default metapartition_files: annotations cache expunge header index partition-default: /var/spool/imap/ +metapartition-default: /var/spool/imap/ sievedir: /var/lib/imap/sieve annotation_definitions: /etc/imapd.annotations.conf autocreate_quota: 5242880 autocreate_inbox_folders: Drafts | Trash | Sent autocreate_subscribe_folders: Drafts | Trash | Sent # Set specialuse flags xlist-drafts: Drafts xlist-sent: Sent xlist-trash: Trash idlesocket: /var/lib/imap/socket/idle disable_shared_namespace: 0 disable_user_namespace: 0 duplicate_db_path: /run/cyrus/db/deliver.db mboxname_lockpath: /run/cyrus/lock proc_path: /run/cyrus/proc # Apparently does not work ##ptscache_db_path: /var/tmp/cyrus-imapd/ptscache.db statuscache_db_path: /run/cyrus/db/statuscache.db temp_path: /tmp tls_sessions_db_path: /run/cyrus/db/tls_sessions.db sendmail: /usr/sbin/sendmail admins: IMAP_ADMIN_LOGIN sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN LOGIN sasl_saslauthd_path: /run/saslauthd/mux allowplaintext: yes lmtp_over_quota_perm_failure: 1 #tls_server_cert: /etc/pki/tls/private/aphy.app.pem #tls_server_key: /etc/pki/tls/private/aphy.app.pem #tls_server_ca_file: /etc/pki/tls/certs/zrh1.infra.aphy.app.ca.cert tls_server_cert: /etc/pki/cyrus-imapd/cyrus-imapd.bundle.pem tls_server_key: /etc/pki/cyrus-imapd/cyrus-imapd.bundle.pem tls_client_certs: off tls_ciphers: kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES tls_prefer_server_ciphers: 1 tls_versions: tls1_3 maxlogins_per_user: 50 proxyd_disable_mailbox_referrals: 0 httpmodules: caldav carddav domainkey freebusy ischedule rss webdav caldav_allowcalendaradmin: 1 unixhierarchysep: 1 virtdomains: userid sieve_extensions: fileinto reject envelope body vacation imap4flags include regex subaddress relational copy date allowallsubscribe: 0 anyoneuseracl: 0 allowusermoves: 1 altnamespace: 1 disconnect_on_vanished_mailbox: 1 hashimapspool: 1 anysievefolder: 1 fulldirhash: 0 sieve_maxscripts: 150 sieve_maxscriptsize: 128 sieveusehomedir: 0 sieve_allowreferrals: 0 sieve_utf8fileinto: 1 lmtp_downcase_rcpt: 1 lmtp_fuzzy_mailbox_match: 1 username_tolower: 1 deletedprefix: DELETED delete_mode: delayed expunge_mode: delayed postuser: shared tcp_keepalive: 1 syslog_prefix: cyrus-imapd calendar_default_displayname: Calendar addressbook_default_displayname: Addressbook # mupdate is enabled # mupdate_config: standard # mupdate_server: imap-mupdate # mupdate_port: 3905 # mupdate_authname: IMAP_ADMIN_LOGIN # mupdate_username: IMAP_ADMIN_LOGIN # mupdate_password: IMAP_ADMIN_PASSWORD # proxy authentication for these users # proxyservers: IMAP_ADMIN_LOGIN # sync is enabled #sync_try_imap: 0 #sync_log_chain: false #sync_authname: cyrus #sync_password: simple123 #sync_log: 1 #sync_repeat_interval: 10 #sync_shutdown_file: /var/lib/imap/sync_shutdown debug: 1 chatty: 1 diff --git a/docker/imap/init.sh b/docker/imap/init.sh index 10ecf21e..9c43157d 100755 --- a/docker/imap/init.sh +++ b/docker/imap/init.sh @@ -1,34 +1,34 @@ #!/bin/bash sed -i -r \ -e "s|IMAP_ADMIN_LOGIN|$IMAP_ADMIN_LOGIN|g" \ -e "s|IMAP_ADMIN_PASSWORD|$IMAP_ADMIN_PASSWORD|g" \ /etc/imapd.conf sed -i -r \ -e "s|APP_SERVICES_DOMAIN|$APP_SERVICES_DOMAIN|g" \ -e "s|SERVICES_PORT|$SERVICES_PORT|g" \ /etc/saslauthd.conf mkdir -p /var/lib/imap/socket cat ${SSL_CERTIFICATE} ${SSL_CERTIFICATE_FULLCHAIN} ${SSL_CERTIFICATE_KEY} > /etc/pki/cyrus-imapd/cyrus-imapd.bundle.pem chown 1001:0 /etc/pki/cyrus-imapd/cyrus-imapd.bundle.pem /usr/sbin/saslauthd -m /run/saslauthd -a httpform -d & # Can't run as user because of /dev/ permissions so far. # Cyrus imap only logs to /dev/log, no way around it it seems. # sudo rsyslogd # Cyrus needs an entry in /etc/passwd. THe alternative would be perhaps the nss_wrapper # https://docs.openshift.com/container-platform/3.11/creating_images/guidelines.html#openshift-specific-guidelines # FIXME: This probably currently just works because we make /etc/ writable, which I suppose we shouldn't. ID=$(id -u) GID=$(id -g) echo "$ID:x:$ID:$GID::/opt/app-root/:/bin/bash" > /etc/passwd -exec env CYRUS_VERBOSE=2 CYRUS_USER="$ID" /usr/libexec/master -D -p /var/run/master.pid -M /etc/cyrus.conf -C /etc/imapd.conf +exec env CYRUS_VERBOSE=1 CYRUS_USER="$ID" /usr/libexec/master -D -p /var/run/master.pid -M /etc/cyrus.conf -C /etc/imapd.conf